补充ing。
动态规划(Dynamic Programming)
- 基础DP
- 背包问题
- 线性DP
- 区间DP
- 进阶DP
- 树形DP
- 状压DP
- 数位DP
- 优化决策
- 单调队列优化
- 斜率优化
图论
- 图的遍历
- 欧拉路径/欧拉回路
- 最小生成树
- Kruskal
- Prim
- 最短路
- Floyd
- Dijkstra
- SPFA(它死了)
- LCA,倍增
- 树上差分
- 拓扑排序
- 差分约束系统
- 强连通分量,缩点
- 无向图割点、桥
- 二分图匹配
- 01分数规划
- 最大流/费用流
- 2-SAT问题
数论及其他数学问题
- GCD
- EXGCD
- CRT
- 欧拉筛
- 欧拉函数
- 费马小定理
- 高斯消元
- 乘法逆元
- 组合数
- 矩阵乘法、矩阵快速幂、矩阵加速递推
- 博弈论经典问题
数据结构
-
基础数据结构
- 栈
- 队列
- 堆
-
STL容器
- vector
- queue
- stack
- deque
- set
- map
- priority_queue
- pair
- bitset
-
高级数据结构
- 线性基
- (带权)并查集
- 分块
- 树状数组
- 线段树
- Sparse Table
-
更高级的数据结构
- 树链剖分
- 可持久化线段树(主席树)
字符串
- Brute Force算法
- 字符串哈希
- 哈希表
- Trie树
- Knuth-Morris-Pratt算法
搜索
- DFS
- BFS
- 剪枝
- A*
- IDA*
其他知识点
- 高精度运算
- 贪心算法
- 分治
- 逆序对(归并排序,树状数组,权值线段树)
- 二分法,二分答案