ACM初學者訓練計劃

第一階段簡單算法:


1.最短路(Floyd、Dijstra,BellmanFord)  

2.最小生成樹(先寫個prim,kruscal要用並查集,不好寫)

3.大數(高精度)加減乘除

4.二分查找. (代碼可在五行以內)  

5.叉乘、判線段相交、然後寫個凸包.  

6.BFS、DFS,同時熟練hash表(要熟,要靈活,代碼要簡)  

7.數學上的有:輾轉相除(兩行內),線段交點、多角形面積公式.

8. 調用系統的qsort, 技巧很多,慢慢掌握.

9. 任意進制間的轉換


第二階段:練習複雜一點,但也較常用的算法。


1. 二分圖匹配(匈牙利),最小路徑覆蓋

2. 網絡流,最小費用流。  

3. 線段樹.   

4. 並查集。  

5. 熟悉動態規劃的各個典型:LCS、最長遞增子串、三角剖分、記憶化dp  

6.博弈類算法。博弈樹,二進制法等。  

7.最大團,最大獨立集。  

8.判斷點在多邊形內。  

9. 差分約束系統.  

10. 雙向廣度搜索、A*算法,最小耗散優先.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章