先看图例
数据结构
队列
- 普通队列
- 双端队列
-
栈
普通栈
-
链表
普通链表
- 双向链表
-
堆
普通堆
- 对顶堆
- 斐波那契堆
-
树
树的基础
- 基本概念
- 树的遍历
- 树的重心
- 树的直径
- LCA
- dfm
- 括号序
- 线段树
- 基础线段树
- 李超线段树
- 线段树合并
- ZKW线段树
- 树状数组
- 基础
- 数状数组求第k大
- 多维数状数组
- 平衡树
- spaly
- treap
- fhqtreap
- 可持久化平衡树
- 其他
- 替罪羊树
- AVL
- SBT
- 红黑树
- 树套树
- 线段树套线段树
- 平衡树套平衡树
- 树链剖分
- 重链剖分
- 长链剖分
- 笛卡尔树
- 疏导启发式合并
- DSU on tree
- LCT
- 虚树
- KD树
- 树的哈希
- 树套表
- 划分树
-
并查集
基础
- 带权并查集
-
分块
莫队
- 链上分块
-
Dancing Links
基础
语法基础
函数
- 指针
- 引用
- 结构体、类
22.结构体详解
23.结构体数组
24.结构体指针
25.结构体内存分析
26.结构体变量占用存储空间大小
27.结构体嵌套定义
28.共用体
算法基础
- 模拟
- 递归、回溯
- 递推
- 贪心
- 二分
- 排序
- 选择排序
- 冒泡排序
- 插入排序
- 快速排序
- 归并排序
- 桶排序
- 基数排序
- 堆排序
- 希尔排序
- 高精度
- 位运算
-
字符串
kmp
字符串的哈希
字典树
AC自动机
后缀数组
后缀自动机
回文自动机
扩展kmp
manacher
最小表示法
Lyndon分解
后缀树
几何
点类
点积
- 叉积
-
线段相关
相交判定
- 交点
-
多边形相关
多边形包含
- 旋转卡壳
-
图相关
交点切线
-
凸包快速操作
三维计算几何
几何杂项
数值积分
- 辛普森积分
- 自适应辛普森
- 点定位
- 最小圆覆盖
- Voronoi图
- 圆反演
- Picks定理
数学
数论
- 埃氏筛
- gcd/lcm
最大公因数/最小公倍数 - 快速幂
- 逆元
- 扩展欧几里得
- 费马定理/引理
- 欧拉定理
- 扩展欧拉定理
- 原根/阶
- 类欧几里得
- 同余方程组
- 中国剩余定理
- 扩展中国剩余定理
- Lucas定理
- 普通
- exLucas
- 离散对数
- BSGS
- Pohig-Hellman
- 数论函数
- 线性筛
- 整除分块
- 独利克雷卷积
- 莫比乌斯反演
- 杜教筛
- min25筛
- Miller Rabin
- Pollard Rho
- 佩尔方程
- 单位根反演
二次剩余
矩阵快速幂
- 高斯消元
- 行列式
- 线性基
- 矩阵求逆
- 常系数线性递推
- 矩阵树定理
- BM
- BEST定理
- 特征值
-
组合数学
组合数
- 杨辉三角
- 多重集组合数
- 二项式定理
- 概率论
- 期望的线性性
- 条件概率
- 容斥原理
- 容斥原理基础
- min-max反演
- 二项式反演
- 常见数列
- 斐波那契数列
- 错排问题
- 卡特兰数
- 拆分数
- 斯特林数
- 贝尔数
- 伯努利数
- prufer序列
- LGV引理
-
博弈论
SG函数
- 常见结论
-
多项式
FFT/NTT
- 拉格朗日插值
- 生成函数
- 多项式全家桶
集合幂级数
置换
- Burnside引理
-
线性规划
杂项
离散
前缀和/差分
逆序对
扫描线
双指针
倍增
三分
枚举子集、超集
搜索
剪枝
- 折半搜索
- DLX
-
分治
树上分治
- 点分
- 边分
- 动态点分
-
随机
爬山
- 模拟退火
- 遗传算法
对拍
常数优化
读入优化
拟阵
图论
图的概念
图的遍历
- bfs
- dfs
拓扑序
传递闭包
- floyd
最短路
- bellman-ford
- dijkstra
- 最短路径树
最小生成树
- prim
- kruskal
- boruvka
点(边)双连通分量
- tarjan
- 割点/割边
- 圆方树
- kosaraju
二分图
- 二分图判定
- 匈牙利算法
- KM
- hopcraft-karp
网络流
- 最大流(最小割)
- dinic
- sap
- 费用流
- 可行流
- 最大流
- ZKW费用流
- 上下界网络流
欧拉(回)路
2-sat
竞赛图
差分约束
斯坦纳图
仙人掌
最小树形图
一般图匹配
弦图
k短路
支配树
全局最小割
动态规划
记忆化搜索
动态规划基础
- 最优子结构
- 午后效性
- 状态
- 转移
背包问题
- 01背包
- 无限背包
- 多重背包
- O(nml)
- O(nmlog i)
- O(nm)
- 树形背包
- O(n^3)
- O(n^2)
- 分组背包
- 多维背包
- 混合背包
区间dp
- 基础
- 进阶
数位dp
- 基础
- 进阶
树形dp(普通形、换根型)
- 基础
- 进阶
- 高级
状态压缩dp
- 普通型
- 轮廓线型
- 高维前缀和
- 动态高维前缀和
- 插头dp
计数dp
- 基础
- 进阶
- 高级
其他类型
- 图上dp
- 基环树上dp
- 自动机上dp
- 分治dp
- 填坑dp
- 动态dp
- dp套dp
dp优化
- 单调栈优化
- 单调队列优化
- 四边形不等式优化
- 斜率优化
- 数据结构优化
- 决策单调性