黑字:認識
紅字:要學
未添加:要學
├─模擬
├─字符串
│ ├─字符串基礎
│ ├─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分治