中级学习
一.基础数据结构
1.5 堆
二.基本算法
2.5 倍增法与ST算法
2.6 前缀和与差分
2.7 离散化
2.9 分治法
2.10 贪心法与拟阵
三.搜索
3.5 双向广搜
3.6 BFS与优先队列
3.9 IDDFS和IDA*
四.高级数据结构
4.2 树状数组
4.3 线段树
4.5 分块与莫队算法
4.6 块状链表
4.8 LCA
4.9 树上的分治
4.13 Treap树
4.15 笛卡尔树
4.17 K-D树
五.动态规划
5.3 数位统计DP
5.4 状态压缩DP
5.5 区间DP
5.6 树形DP
六.数论与线性代数
6.3 矩阵的应用
6.5 异或空间线性基
6.6 0/1分数规划
6.8 线性丢番图方程
6.9 同余
6.11 威尔逊定理
6.14 整除分块(数论分块)
七.组合数学
7.4 库卡斯定理
7.5 容斥原理
7.6 Catalan数和Stirling数
八.计算几何
8.1 二维几何
8.2 圆
九.字符串
9.3 字典树
9.4 回文数
9.5 KMP
十.图论
10.4 无向图的连通性
10.5 有向图的连通性
10.6 基环树
10.7 2-SAT
10.8 最短路径
10.9 最小生成树