数据结构与算法目录
- 1-基础数据结构
- 2-动态规划初步
- 2.1.1-dp入门
- 2.1.2-线性dp
- 2.2-背包dp
- 2.3-区间dp
- *dp问题模型复习
- 3-图论初步
- 3.1-图的基础
- 3.2.1-单源最短路问题初步
- 3.2.2-单源最短路问题进阶
- 3.2.3-全源最短路问题
- 3.3.1-最小生成树初步
- 3.3.2-最小生成树进阶
- 3.4-最近公共祖先
- 3.5-差分约束与负环
- 3.6.1-割边割点
- 3.6.2-双连通分量
- 3.6.3-强连通分量
- 3.7-树链剖分
- 4-搜索算法
- 4.1-双向广搜
- 4.2-迭代加深
- 4.3-A*
- 4.4-IDA*
- 5-数学初步
- 5.1-高中数学基础
- 5.2-位运算
- 5.3.1-约数与素数
- 5.3.2-欧拉筛
- 5.3.3-快速判素数
- 5.4.1-乘法逆元
- 5.4.2-欧拉定理
- 5.4.3-同余方程、方程组、高次方程
- 5.5.1-组合计数
- 5.5.2-Lucas定理
- 5.6-矩阵乘法
- 5.7-概率论初步
- 5.8.1-莫比乌斯反演初步
- 5.8.2-莫比乌斯反演进阶
- 5.8.3-杜教筛
- 5.9-博弈论初步
- 5.10-分数规划
- 6-平衡树与离线算法
- 6.1.1-fhq-treap
- 6.1.2-Splay
- 6.1.3-平衡树序列操作
- 6.2.1-普通莫队
- 6.2.2-回滚莫队
- 6.2.3-二次离线莫队
- 6.3.1-CDQ分治初步
- 6.3.2-CDQ分治进阶
- 7-动态规划进阶
- 7.1-数形dp
- 7.2-环形dp
- 7.3-状压dp
- 7.4.1-倍增优化dp
- 7.4.2-数据结构优化dp
- 7.4.3-单调队列优化dp
- 7.4.4-斜率优化dp
- 7.4.5-四边形不等式优化dp
- 7.5-计数dp
- 7.6-数位dp
- 8-网络流
- 8.1.1-二分图判定与匹配
- 8.1.2-二分图覆盖
- 8.1.3-二分图独立集
- 8.2.1-EK最大流
- 8.2.2-Dinic最大流
- 8.2.3-预流推进
- 8.3.1-费用流初步
- 8.3.2-费用流进阶
- 8.4-其他网络流
- 9-进阶数据结构
- 9.1-左偏树
- 9.2.1-可持久化线段树
- 9.2.2-可持久化Trie
- 9.2.3-可持久化数组
- 9.2.4-可持久化平衡树
- 9.2.5-可持久化并查集
- 9.2.5-可持久化左偏树
- 9.3-LCT
- 9.4-K-D Tree
- 9.5-虚树
- 9.6.1-树套树初步
- 9.6.2-树套树进阶
- 10-图论进阶
- 10.1-点分治
- 10.2-最小树形图
- 10.3-带花树
- 10.4-基环树
- 10.5-仙人掌
- 10.6-平面图
- 10.7-对偶图
- 10.8-弦图
- 11-字符串
- 11.1.1-KMP
- 11.1.2-AC自动机
- 11.1.3-Z函数
- 11.2.1-后缀数组
- 11.2.2-后缀自动机
- 11.2.3-后缀树
- 11.3-Manacher
- 11.4-最小表示法
- 12-数学进阶
- 12.1-微积分基础
- 12.2.1-拉格朗日插值
- 12.2.2-快速傅里叶变换
- 12.2.3-数论变换
- 12.2.4-快速沃尔什变换
- 12.2.5-快速莫比乌斯变换
- 12.3.1-群论入门
- 12.3.2-Polya定理
- 12.4.1-单位根反演
- 12.4.2-二项式反演
- 12.4.3-子集反演
- 12.4.4-斯特林反演
- 12.4.5-min-max反演
- 13-高级数据结构
- 13.1-Fusion Tree
- 13.2-Tango Tree
- 14-另类算法
- 14.1-悬线法
- 14.2-珂朵莉树
- 14.3-DLX
- 14.4-宗法树
- 14.5-动态dp
- 15-计算几何
- 15.1-计算几何基础
- 15.2.1-二维凸包问题
- 15.2.2-三维凸包问题
- 15.3-旋转卡壳
- 15.4-半平面交