黑字:认识
红字:要学
未添加:要学
├─模拟
├─字符串
│ ├─字符串基础
│ ├─manacher
│ ├─kmp
│ ├─trie
│ ├─ac自动机
│ ├─后缀数组(sa)
│ ├─后缀自动机(sam)
│ └─后缀树
├─搜索
│ ├─深度搜索(dfs)
│ ├─记忆化搜索
│ ├─广度搜索(bfs)
│ ├─双向广搜
│ ├─回溯
│ ├─A*
│ ├─迭代深搜
│ ├─IDA*
│ └─dfs序
├─动态规划
│ ├─区间dp
│ ├─环形dp
│ ├─背包dp
│ ├─树形dp
│ ├─状压dp
│ ├─数位dp
│ ├─插头dp
│ └─优化
│ ├─四边形不等式
│ ├─斜率优化
│ └─二进制优化
├─数论
│ ├─筛法
│ ├─快速幂
│ ├─欧几里得算法
│ ├─拓展欧几里得算法
│ ├─费马小定理(欧拉定理)
│ ├─排列组合
│ ├─康托展开
│ ├─概率与期望
│ ├─置换群
│ │ ├─Burnside 引理
│ │ └─Pólya 计数
│ ├─抽屉原理(加强版)
│ ├─容斥原理
│ ├─矩阵乘法
│ ├─乘法逆元
│ ├─高斯消元
│ ├─欧拉函数
│ ├─中国剩余定理
│ ├─单纯型法
│ ├─莫比乌斯函数及莫比乌斯反演
│ └─快速傅里叶变换
├─图论
│ ├─拓扑排序
│ ├─生成树
│ │ ├─k小生成树
│ │ ├─kruskal
│ │ └─prim
│ ├─最短路
│ │ ├─k短路
│ │ │ └─偏离算法
│ │ ├─spfa(Bellman-Ford)
│ │ ├─dijkstra
│ │ └─floyd
│ ├─差分约束
│ ├─并查集
│ ├─图的连通
│ │ ├─tarjan
│ │ ├─双连通分量
│ │ ├─强连通分量
│ │ └─割点割边
│ ├─网络流
│ │ ├─最大流
│ │ │ ├─sap
│ │ │ │ ├─isap
│ │ │ │ └─dinic
│ │ │ └─预流推进
│ │ ├─最小割
│ │ ├─费用流
│ │ │ └─zkw费用流
│ │ └─上下界网络流
│ │ └─二分
│ ├─二分图
│ │ ├─匈牙利
│ │ └─km算法
│ ├─2-SAT
│ └─树
│ ├─lca
│ │ ├─tarjan
│ │ └─倍增
│ └─树链剖分(hld)
│ ├─点分治
│ └─边分治
├─数据结构
│ ├─基础数据结构
│ │ ├─栈(stack)
│ │ ├─链表(list)
│ │ ├─哈希表(hash)
│ │ └─堆(heap)
│ ├─单调栈
│ ├─单调队列
│ ├─块状链表
│ ├─线段树(seg tree)
│ │ ├─主席树
│ │ └─zkw线段树
│ ├─树状数组(bit)
│ ├─平衡树
│ │ ├─treap
│ │ ├─splay
│ │ ├─sbt
│ │ ├─红黑树
│ │ └─AVL树
│ ├─link-cut tree
│ ├─树套树
│ ├─划分树
│ ├─可持久化
│ │ └─可持久化线段树
│ ├─kdtree
│ ├─左偏树
│ ├─仙人掌树
│ └─朝鲜树(替罪羊树)
├─计算几何
│ ├─基础
│ ├─半平面交
│ └─凸包
│ └─旋转卡壳
├─博弈论
│ └─SG函数
└─其它
├─暴力
├─贪心
├─高精度
├─二分
├─整体二分
├─排序
├─stl
│ ├─set
│ ├─map
│ ├─rope
│ └─priority_queue
├─特殊算法
│ ├─爬山算法
│ ├─模拟退火
│ ├─朱刘算法
│ ├─莫队算法
│ └─随机增量法
├─随机化
├─RMQ
│ └─st
└─cdq分治