文章目錄
- 1.1 基本數據結構
- 1.2 中級數據結構
- 1.3 高級數據結構
- 1.4 可持久化數據結構
- 1.5 字符串相關算法及數據結構
- 1.6 圖論相關
- 1.7 數學相關
- 1. (擴展)歐幾里得算法,篩法,快速冪
- 2. 歐拉函數與*降冪大法
- 3. 費馬小定理
- 4. 排列組合
- 5. 乘法逆元
- 6. 矩陣乘法
- 7. 數學期望與概率
- 8. 博弈論
- 9. *拉格朗日乘子法
- 10. 中國剩餘定理
- 11. 線性規劃與網絡流
- 12. 單純型線性規劃
- 13. 辛普森積分
- 14. 模線性方程組
- 15. 容斥原理與莫比烏斯反演
- 16. 置換羣
- 17. 快速傅里葉變換
- 18. *大步小步法(BSGS),擴展BSGS
- 1.8 動態規劃
- 1.9 計算幾何
- 1.10 搜索相關
- 1.11 特殊算法
- 1.12 其它重要工具與方法
- 1.13 STL
- 1.14 非常見算法
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 字符串相關算法及數據結構
1. KMP
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定理