字符串
-
\(KMP\)
-
\(Z\)函数
-
字符串哈希
-
\(Manacher\)
-
\(PAM\)回文自动机
-
\(ACAM\) \(AC\) 自动机
-
\(SAM\) 后缀自动机
-
*\(SA\) 后缀数组
-
*\(ST\) 后缀树
数学
- \(exgcd\)
- \(crt\)
- \(excrt\)
- \(BSGS\)
- 整除分块
- 线性筛&埃氏筛
- 狄利克雷前缀和
- 二项式反演
- 高斯消元&矩阵树定理&行列式求值
- \(LGV\)引理
- 卡特兰数
- 组合数
- 分数规划
- 矩阵快速幂
- 欧拉函数
- 容斥原理&子集反演
- \(FWT\)
- *\(FFT\)
- 莫比乌斯反演
图论
- 最短路&同余最短路&分层图
- 最小生成树&\(Kruskal\) 重构树
- \(LCA\) & 线性 \(LCA\)
- 拓扑排序
- \(tarjan\) 强连通分量
- \(tarjan\) 割边割点
- \(tarjan\) 点双边双 & 圆方树
- \(2-SAT\)
- 差分约束
- 树上差分
- 重链剖分
- 长链剖分
- *\(LCT\)
- 二分图匹配
- 一般图最大匹配(随机化)
- 网络流&费用流&最小割模型&最大权闭合子图
- 树哈希
- 欧拉回路
- 最大团随机化
- *支配树
数据结构
- 前缀和
- 差分
- 树状数组 \(bit\)
- 线段树 \(sgt\)
- 平衡树 \(-Splay\) \(-fhq\ Treap\)
- 分块
- \(st\) 表
- \(O(n)-O(1)\) \(st\)表
- 势能线段树
- 吉司机线段树
- 莫队,回滚,带修,二次离线
- *树分块(\(top\ cluster\))
- 树套树
- 猫树
- *析合树
- 线段树分治
- 线段树合并
- \(CDQ\) 分治
- 整体二分
- 主席树/可持久化线段树
- 并查集(可回退并查集)
- 单调栈/单调队列
- 笛卡尔树
- 线性基
- *虚树
- 李超线段树
- \(01Trie\)
- 可持久化 \(01 Trie\)
- 哈希表/手写哈希
- 点分治
- *边分治
- 点分树
- \(KD-Tree\)
- 堆&可并堆&对顶堆
- 分治法
- 树上启发式合并
- 动态 \(dp\)
DP
(只说一些常见的类型)
- 背包
- 区间 \(dp\)
- 数位 \(dp\)
- 树形 \(dp\) / 换根
- 状态压缩
- 单调队列优化
- 单调栈优化
- 斜率优化
- 决策单调性
- \(wqs\) 二分
- 四边形不等式
- *插头 \(dp\)
计算几何
- 旋转卡壳
- 半平面交
- 二维凸包
- 其他(我打赌就不考,复习个p)
杂
- 根号分治
- 二进制分组
- 分段打表
- 倍增
- 高精度
- 启发式合并
- 悬线法
- 折半搜索
- 随机化