1、數學問題 ( 0/ 9 )
一、素數判斷
二、分解質因數
三、歐幾里德算法、擴展歐幾里德算法、解同餘方程
四、快速冪及相關模運算
五、進制轉換
六、排列組合
七、高精度運算:加、減、乘、除(高精度除以單精度、高精度除以高精度)
八、歐拉函數
九、高斯消元
2、字符串(0/5)
一、KMP
二、字典樹(Trie樹 )
三、最長公共字串
四、最長迴文字串(Manacher算法)
五、AC自動機
3、搜索專題(0/4)
一、深度優先搜索(DFS/回溯法)
二、廣度優先搜索(BFS)
三、Dancing Links
四、搜索優化方法
4、DP專題(0/11)
一、揹包問題:0/1揹包、徹底揹包
二、記憶化搜索
三、最長公共子系列(LCS)
四、最長不降低序列,O(N2)算法和優化後的O(NlogN)算法。
五、最大字段和
六、數位DP
七、樹型DP
八、雙路DP
九、區間DP
十、狀態壓縮
十一、單調性優化
5、數據結構(0/7)
一、棧、隊列的遠離和應用
二、哈希表
三、並查集
四、二叉堆(手寫、STL優先隊列都須要掌握)
五、最近公共祖先(LCA)
六、樹狀數組
七、線段樹
6、圖論(0/5)
一、最短路徑(SPFA、Dijkstra等)及其使用範圍
二、差分約束系統
三、最小生成樹
四、拓撲排序
五、連通性判斷:DFS、弗洛伊德、Tarjan算法及應用
7、其它(0/6)
一、快速排序(sort):數值排序、字符串排序(string類型)、多關鍵字排序
二、二分答案
三、三分答案
四、求逆序對
五、離散化思想
六、倍增思想