-
√]是会的,[√*]是会大概/一半的
-
基础算法
- 贪心[√]、枚举[√]、分治[√]、二分、倍增、构造、高精[√]、模拟[√]*
-
图论
- 图
- 最短路(dijkstra、spfa、floyd),差分约束[√*]
- 最小生成树(kruskal、prim)]
- 并查集(扩展域)[√*]
- 拓扑排序
- 二分图染色,*二分图匹配
- tarjan找scc、桥、割点,缩点
- *分数规划
- 树
- 树上倍增(LCA)
- 树的直径、树的重心
- dfs序
- *树链剖分
- 图
-
数论
- gcd、lcm
- 埃氏筛法
- exgcd,求解同余方程、逆元
- 快速幂
- *组合数学
- 矩阵
-
数据结构
- 链表[√]、队列(单调队列)[√*]、栈(单调栈)[√*]
- 堆[√]、st表、hash表
- 线段树、树状数组
- 字典树
- *分块
-
动态规划
- 背包DP、树形DP、记忆化搜索[√]、递推[√]
- 区间DP、序列DP
- *DP优化(不涉及斜率优化、四边形不等式等等)
-
搜索
- 暴搜(dfs、bfs)[√]
- 搜索的剪枝[√*]
- 启发式搜索(A*)
- 迭代加深搜索、* IDA*
- *随机化搜索
-
其他算法
- STL的基本使用方法
- 脑洞的正确使用方法
- *KMP
- *状态压缩
省选知识点汇总
冲省选的,先把整理的NOIP知识点学扎实,注意一定要学扎实 加粗是重点,星号是选学 学无止境,欢迎大家继续补充~
- 图论
- 网络流(dinic,SAP,ISAP选一个,费用流写EK就行。*zkw费用流),二分图
- 点分治,边分治,*动态点分治
- 树链剖分,动态树,树分块
- 虚树,*prufer编码
- *仙人掌算法
- 数据结构
- 带权并查集
- Splay(作为平衡树和维护区间),Treap,替罪羊树
- 线段树(权值线段树),树状数组,*线段树合并
- 分块,块状链表,*双向链表
- 凸包
- 树套树
- 主席树,可持久化trie,*其它可持久化数据结构
- 莫队算法,*树上莫队,CDQ分治,整体二分
- 二维线段树,*KDtree
- 舞蹈链,二进制分组,左偏树,超哥线段树,后缀平衡树,fhqTreap
- 字符串相关算法及数据结构
- hash(自然溢出,双hash)
- kmp,AC自动机,trie
- 后缀数组
- manacher,最小表示法
- *后缀自动机,*回文自动机,*后缀树
- 数学
- 线性筛,积性函数,容斥原理,莫比乌斯反演
- exgcd,费马小定理,Lucas定理,高中排列组合
- 高斯消元,概率与期望相关
- 中国剩余定理,BSGS,欧拉定理
- 矩阵乘法
- 单纯形法解线性规划
- FFT
- 线性代数(行列式)
- *Simpson积分,高中求导与积分
- *群论
- *生成函数, 多项式类算法
- 博弈论相关,*密码学,阶,原根
- 计算几何
- 向量的点积/叉积,计算几何基础
- 二维计算几何相关,三维计算几何相关
- 半平面交,旋转卡壳,*三角剖分
- 搜索
- A*,记忆化搜索[√],迭代深搜,双向广搜
- 模拟退火,爬山算法,*随机增量法
- 动态规划
- 基础DP,树形DP,数位DP,状压DP,期望DP,基环树DP,*插头DP
- 斜率优化,矩乘优化,单调队列优化,倍增优化,*四边形不等式优化
- trie图DP,*仙人掌DP
- 其他算法
- 构造[√],乱搞,随机化,三分法,打表[√],启发式合并
- Huffman树,2-sat,*朱刘算法