基础算法
- 枚举
- 模拟
- 递推
- 贪心
- 递归
- 分治
- NP问题
排序算法
- 冒泡排序
- 选择排序
- 桶排序
- 插入排序
- 归并排序
- 快速排序
- 堆排序
- 希尔排序
- 外部排序
查找算法
- 顺序查找
- 二分查找
- 二分答案
搜索算法
- BFS
- DFS
- 剪枝
- 记忆化搜索
- 启发式搜索,A*
- 迭代加深,ID
- 启发式迭代加深,IDA*
- Dancing Links
- 随机调整
- 遗传
- 模拟退火
数论
- 素数判断,质数,筛法
- 最大公约数,gcd
- 扩展欧几里德
- 不定方程
- 数的进制
- 集合论
- 关系
- 同余运算
- 解线性同余方程
- 中国剩余定理
- 快速排序
- 组合数学
- 排列与组合
- 基本概念
- 二项式定理
- 康托展开
- 袋与球问题
- 鸽笼原理
- 容斥原理
- Fibonacci
- Catalan
- Stirling
- 差分序列
- 生成函数
- 置换
- Polya原理
- 概率论
- 简单概率
- 条件概率
- Bayes定理
- 期望
矩阵,线性代数
- 矩阵的概念和运算
- 矩阵乘法
- 线性递推
- 高斯消元
- 异或方程组
- 逆元
微积分初步
- 极限
- 导数
- 积分
- 定积分
- 立体解析几何
- 级数
线性表
- 数组
- 向量
- 堆栈
- 队列
- 块状链表,块状数组
- 字符串处理
- 树状数组
- st表,稀疏表
图
- 图的建立
- 邻接矩阵
- 邻接表
- 图遍历
- 拓扑排序
- 最短路
- Floyd算法
- Dijstra算法
- Bellman-Ford算法
- SPFA算法
- K短路
- 生成树
- Prim算法
- Kruskal算法
- 生成树的另类算法
- 次小生成树
- 特殊生成树
- 圈和块
- 最小环
- 负权环
- 连通块
- 2-SAT
- 欧拉公式
- 四色定理
- 强连通分量
- Tarjan算法
- 割点和桥
- 欧拉回路
- AOV问题
- AOE问题
- 差分约束系统
- 仙人掌
树
- 树的遍历
- 树上距离问题
- 节点到根的距离
- 最近公共祖先
- 节点间的距离
- 树的直径
- 哈夫曼树
- 二叉堆
- 左偏树
- 斜堆
- 二项堆
- 二叉排序树,平衡树
- AVL
- Treap
- SBT
- Splay
- 静态排序树
- 替罪羊树
- 并查集
- 线段树
- 线段树操作
- 二维线段树
- 矩形树
- 动态树
- 树链剖分
- Link-Cut Tree,LCT
- K-D树
- LCA
- RMQ
- zkw线段树
- 树套树
- 主席树
- 可持久化
HASH
- ELFhash
- SDBM
- BKDR
- RK
动态规划
- 动态规划初步
- 背包
- 子母树
- 多维状态
- 区间动规
- 动态规划优化
- 降低维度
- 优先队列
- 单调队列,决策单调
- 矩阵加速
- 斜率优化
- 状态压缩
- 树形动规
- 凸完全单调性
- 四边形不等式
二分图
- 最大匹配
- 匈牙利算法
- 非二分图最大匹配
- Konig定理
- 带权二分图匹配
- KM算法
- 稳定婚姻系统
网络流
- 最大流
- Dinic算法
- Sap算法
- 有上下界的最大流
- 最小割
- 闭合图
- 最小点权覆盖集
- 最大点权独立集
- 01分数规划
- 最大密度子图
- 费用流
- 最短路增广费用流
- zkw费用流
- 最小费用可行流
计算几何
- 凸包
- 叉积
- 线段相交
- 点积
- 半平面相交,半平面交
- 最近点对
- 凸多边形的交
- 离散化扫描
- 旋转卡壳
字符串
- Trie树
- AC自动机
- KMP
- 后缀数组
- 后缀树
- 有限状态自动机
- Huffman编码
- 简单密码学
其它
- 随机调整,随机贪心,随机化
- 爬山法
- 模拟退火
- 博弈论
- Nim取子游戏
- 博弈树
- Shannon开关游戏
- DFT,FFT
- 位运算
- 骗分
- 高精度