學習目標

ACM_e發表於2017-12-28
知識體系篇:
C語言+STL+資料結構+演算法
C語言+STL略去不表,重點談談需要掌握的資料結構&&演算法
參照hzwer巨巨的博文:hzwer.com - Home
我按照競賽中考查的頻率及重要性,暫且將對列出的知識點的掌握程度的要求分成熟練掌握、基本掌握、一般掌握、一般瞭解、可看可不看這五個等級。

簡單列了一點

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定理

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. 高精度(基本掌握)

5. 離線(熟練掌握)

6. ST表(一般掌握)

1.13 STL

1. map(熟練掌握)

2. priority_queue(熟練掌握)

3. set(熟練掌握)

4. bitset(熟練掌握)

5. rope(一般掌握)

1.14 非常見演算法

1. *朱劉演算法(可看可不看)

2. *弦圖與區間圖(可看可不看)


相關文章