24种NOIp常用的算法

UPD:NOIP2018挂了。说明此帖参考价值有限。(D2T3直接出论文题,17年及以前的NOIP将不再对之后的比赛有难度上的参考价值。

由于NOI2018挂挂了,颓了一波游戏就开始准备11月的联赛。翻了近三年的题,列举了考到的算法和一些传统必会算法,希望对入门OIer们有帮助

NOIp是选拔性考试,历来有考无纲,以下内容仅供参考。

/*2018.10.29 更新:还有十天考试了,现在很虚,有没有大佬现身压压题&交流一下备赛经验的QAQ

未解之谜:NOIP能不能用bits啊。。 // 结论:能,第一手资料。

闲聊两句(不奶不膜qwq),NOIP的题审的都很严,可以说解法都很正,都是经典。近年来明显有在加难度,前年突然考了换教室期望DP,本人在考场手足无措坐立不安连暴力都不会打。去年想法都还行,但D2T3可以用平衡树或主席树解决,在知识面上有了明显的拓展。

不知道今年怎么样啊。在这里祝大家rp++吧~  (rp++和++rp真的一样快,大家别被骗了XD) */

-------以下正文--------

1、模拟

略。

2、预处理

很重要的技巧,但常被忽视。

e.g.: 大部分题目。

3、搜索

暴搜是一种信仰。

e.g.: NOIp2015 斗地主

4、动态数组、队列、栈、

std::vector & queue & stack

5、优先队列、堆、映射

std::priority_queue<type,vector<type>,Comp>

std::stack

std::map

6、动态规划

DDDDPPPPPPPPPPPPPPPPPPP!!!!

*** 动态规划是NOIp传统难点,考察内容多样,近年来曾考过:

    *状态压缩DP(e.g.: NOIp2017 宝藏、NOIp2016 愤怒的小鸟)

    *多重背包(e.g.: NOIp2014 飞扬的小鸟)

其他DP相关知识:

    *1D1D优化

7、贪心

8、二分答案

9、最短路

别用SPFA。dijkstra多好,何必想不开呢。

e.g.: NOIp2016 换教室

10、最小生成树

e.g.: NOIp2015 运输计划

11、并查集

路径压缩+按秩合并 可优化至线性

12、树状数组、线段树

e.g.: NOIp2017 列队

13、树上倍增、树上Tarjan求LCA

*** 树的内容NOIp也会考到比较难,具体参看NOIp 2016 天天爱跑步

14、树上瞎跑(雾)

客观重要,考验灵性。

15、点分治

16、哈希

17、后缀数组

——字符串处理的有力工具。

18、辗转相除法

19、快速幂&逆元

20、组合数的lucas定理

21、最大流的dinic算法

22、简单解析几何

23、离散化

24、pair & struct 、运算符重载

2017.7.20

于湖南长沙

猜你喜欢

转载自blog.csdn.net/weixin_40676873/article/details/81166139