OI常用演算法
1.1基本資料結構
1. 陣列
2. 連結串列,雙向連結串列
3. 佇列,單調佇列,雙端佇列
4. 棧,單調棧
1.2中級資料結構
1. 堆
2. 並查集與帶權並查集
3. hash表
自然溢位
雙hash
1.3高階資料結構
1. 樹狀陣列
2. 線段樹,線段樹合併
3. 平衡樹
Treap
Splay
*Scapegoat Tree 替罪羊樹
4.塊狀陣列,塊狀連結串列
5.*樹套樹
線段樹套線段樹
線段樹套平衡樹
*平衡樹套線段樹
6.可並堆
左偏樹
*配對堆
7.*KDtree,*四分樹
1.4可持久化資料結構
1.可持久化線段樹
主席樹
2.*可持久化平衡樹
3.*可持久化塊狀陣列
1.5字串相關演算法及資料結構
2.AC自動機
3.字尾陣列
4.*字尾樹
5.*字尾自動機
6.字典樹Trie
7.manacher
1.6圖論相關
1.最小生成樹
prim
kruskal
2.最短路,次短路,K短路
spfa
dijkstra
floyd
3.圖的連通
連通分量
割點,割邊
4.網路流
最大流
最小割
費用流
分數規劃
5.樹相關
樹上倍增,公共祖先
樹鏈剖分
樹的分治演算法(點分治,邊分治,*動態?樹分治)
動態樹(LCT,*樹分塊)
虛樹
*prufer編碼
7.拓撲排序
8.尤拉圖
9.二分圖
*KM演算法
匈牙利演算法
1.7數學相關
1.(擴充套件)歐幾里得演算法,篩法,快速冪
斐蜀定理
更相減損術
2.尤拉函式與*降冪大法
3.費馬小定理
4.排列組合
lucas定理
5.乘法逆元
6.矩陣乘法
7.數學期望與概率
8.博弈論
sg函式
樹上刪邊遊戲
9.*拉格朗日乘子法
10.中國剩餘定理
11.線性規劃與網路流
12.單純型線性規劃
13.辛普森積分
14.模線性方程組
15.容斥原理與莫比烏斯反演
16.置換群
17.快速傅立葉變換
18.*大步小步法(BSGS),擴充套件BSGS
1.8動態規劃
1.一般,揹包,狀壓,區間,環形,樹形,數位動態規劃
記憶化搜尋
斯坦納樹
揹包九講
2.斜率優化與*四邊形不等式優化
3.環+外向樹上的動態規劃
4.*插頭動態規劃
1.9計算幾何
1.計算幾何基礎
2.三維計算幾何初步
3.*梯形剖分與*三角形剖分
4.旋轉卡殼
5.半平面交
6.pick定理
7.掃描線
1.10搜尋相關
1.bfs,dfs
2.A*演算法
3.迭代加深搜尋,雙向廣搜
1.11特殊演算法
1.莫隊演算法,*樹上莫隊
2.模擬退火
3.爬山演算法
4.隨機增量法
1.12其它重要工具與方法
1.模擬與貪心
2.二分,三分法(求偏導)
3.分治,CDQ分治
4.高精度
1.13STL
2.priority_queue
4.bitset
1.14非常見演算法
1.*朱劉演算法
2.*弦圖與區間圖