本人蒟蒻一枚,以下知识点为自己整理原创,但因为链接为转载所以标签为转载。本人才上初一,这是我初涉NOIP的第一年,希望大家能给点鼓励,谢谢大家。
温馨提示:红色为重要或难点算法。
基础算法:
贪心;枚举;分治;二分法;三分法;构造;排序(sort);高精(四则运算);模拟;搜索(bfs,dfs,双向bfs,剪枝,A* ,迭代加深,IDA* )。
图论:
(1)图:最短路;最小生成树;并查集;拓扑排序;差分约束;二分图染色;二分图匹配;tarjan找scc;桥;割点;缩点;分数规划。
(2) 树: 树上倍增(LCA);dfs序;树的直径、重心;树链剖分。数论:
最大公约数(gcd)最小公倍数(lcm);线性筛法求素数;中国剩余定理;扩展欧几里得;费马小定理;同余方程;逆元;快速幂(取模) ;组合数学;矩阵。
数据结构:
链表;队列;栈;线段树;树状数组;哈希表;st表;分块;堆(STL实现:大根堆,小根堆)。
动态规划:
背包问题(01背包,完全背包,混合背包);树形DP;记忆化搜索;递推;DP:环形DP,数位DP,区间DP,序列DP,DP优化(数据结构优化,单调队列优化,斜率优化),状态压缩DP。
字符串:
KMP,AC自动机,字典树(trie)。