算法/ACM彙總

參考書:算法競賽入門經典(第二版)、算法競賽入門經典訓練指南、算法藝術與信息學競賽,hihocoder


算法競賽涉及到的C++基礎


實用數據結構

(常用數據結構好好實現一遍,存在代碼庫裏)
基礎:棧、隊列和優先隊列,鏈表,樹和二叉樹,圖(DFS,BFS,拓撲排序,歐拉回路)
提高:並查集,區間(二叉索引樹,RMQ問題,線段樹),字符串(trie,KMP,Aho-Corasick自動機,後綴數組,最長公共前綴LCP,基於哈希值得LCP算法),排序二叉樹(Treap),狀態空間搜索(盲目搜索,啓發式搜索,剪枝)

數學基礎
計數(二項式定理,數論裏的計數,編碼與解碼)與概率(離散概率,連續概率),遞推,數學期望,數論(歐幾里得算法,Eratosthenes篩法,擴展歐幾里得算法,同餘,中國剩餘定理),組合,置換,線性規劃

計算幾何
二維幾何基礎,二維幾何算法,三維幾何,仿射變換,離散化與掃描法,運動規劃,凸包,多邊形與多面體

圖論算法和模型
最小生成樹(Kruskal算法),最短路問題(Dijkstra算法,Bellman-Ford算法,Floyd算法),網絡流(最大流問題,增廣路算法,最小割最大流定理,最小費用最大流問題),連通分量問題,二分圖匹配


算法設計
分治,遞歸,貪心,枚舉法

動態規劃
數字三角形,DAG上的DP,樹上DP,0-1揹包問題

暴力求解
枚舉排列,子集生成,回溯,路徑尋找,迭代加深搜索,精確覆蓋問題

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