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
于湖南长沙