第一類:基礎算法算法
(1) 基礎算法:枚舉,貪心,遞歸,分治,遞推,構造,模擬數組
(2) 動態規劃:揹包問題,樹形dp,狀態壓縮dp,單調性優化,插頭dp網絡
(3) 搜索:dfs,bfs,記憶化搜索,優化與剪枝,雙廣,A*,IDA*,跳舞鏈數據結構
第二類:數據結構函數
(1) 簡單數據結構:鏈表,棧和隊列,串,樹和二叉樹,圖,排序與檢索優化
(2) 樹形結構:線段樹,樹狀數組,字典樹,伸展樹,左偏樹,動態樹,lca&rmq,劃分樹,SBT加密
(3) 字符串:kmp,AC自動機,後綴數組,最小表示法spa
(4) 其餘:並查集,散列表,塊狀鏈表,雙向鏈表orm
第三類:圖論排序
(1) 最短路:dijkstra,bellman-ford(spfa優化),floyd,heap+dijkstra,差分約束,第K最短路
(2) 生成樹:prim,kruskal, 度限制最小生成樹, 最優比率生成樹, 次小生成樹, 最小樹形圖,生成樹的計數,樹的劃分,樹的枚舉
(3) 匹配問題:二分圖的最大匹配 (匈牙利算法),KM,2-SAT,同構
(4) 網絡流:最大流,最小費用最大流,最小割模型、網絡流規約
(5) 其餘:拓撲排序,雙連通份量,強連通分支及其縮點,圖的割邊與割點,無向圖、有向圖的最小環,歐拉路徑,哈密頓路徑,平面圖,分層圖思想,偶圖
第四類:數學
(1) 數論:素數和整除問題,進位制,同餘模算術,整數因子分解,GCD,擴展歐幾里得,求解模線性方程,中國餘數定理,元素的冪,RSA公鑰加密
(2) 組合數學:加法和乘法原理,排列組合,遞推關係和母函數,容斥原理,抽屜原理,置換羣與Polya定理,MoBius反演,偏序關係理論
(3) 計算方法:二分法求解單調函數相關知識,三分法求解單峯(單谷)的極值,矩陣法,迭代逼近,高斯消元法,隨機化算法,0/1分數規劃
(4) 高精度問題擴展:求倒數,求乘冪,求開方,求對數,二分快速方法,對指函數,三角函數,數值計算的優化
(5) 其餘:博弈論,線性規劃,整數規劃,機率問題,多項式與快速傅里葉,數學思想與方法的綜合運用(構造,猜測,概括法,反證法)
第五類:計算幾何
判斷線段相交,判斷直線相交,判斷點是否在多邊形內,凸多邊形面積計算,求凸包,矩形的交與並(掃描法),最近點對問題,最遠點對問題,點集或圖形集合的最小覆蓋圓,點集或圖形集合的最小覆蓋矩形,三角剖分,費爾馬點的計算,經常使用幾何公式