算法纲要
| 基本 | 枚舉、貪心、遞歸、分治、遞推、模擬 STL(pair、vector、set、map、queue、string、algorithm) 構造、位運算、常數優化 |
| 數據結構 | 隊列、堆、棧、鏈表 排序(插入、冒泡、快速、歸并、堆、桶、基數) 二分查找、散列表 并查集、哈夫曼樹 排序二叉樹、左偏樹、平衡樹(Splay/Treap/SBT) 樹狀數組、線段樹、歸并樹、劃分樹、主席樹、樹套樹 樹鏈剖分、動態樹 1/2維RMQ、LCA(在線/離線)、稀疏表、字典樹 |
| 字符串 | KMP、擴展KMP AC自動機 后綴樹、后綴數組、后綴自動機 LCP隨機化算法 最小表示法 |
| 搜索 | DFS、BFS、剪枝、雙向寬搜 迭代加深、A*、ID-A* Dancing-links、 對抗搜索 爬山法、模擬退火、遺傳算法 |
| 數學 | 進制轉換、表達式求值 二分、三分 概率論、微積分 高精度(加減乘除模開方) 高精實數、分數 快速冪、矩陣、矩陣鏈乘 多項式求根、牛頓迭代 高斯消元解線性方程組 組合數學、排列組合計數 容斥原理、抽屜原理、mobius反演 置換群、burnside 引理、Polya定理、母函數 卡特蘭數、斯特林數 傅立葉變換(大數乘法) 半平面交解二元線性規劃、單純形法解線性規劃 約瑟夫問題 0/1分數規劃 |
| 數論 | GCD、擴展歐幾里德 篩法求素數、素數判定 同余方程、中國剩余定理 大素數測試、分解 歐拉函數、積性函數、法蘭數列 逆元、離散對數 |
| 圖論 | 基本概念(DFS生成樹上邊,橋,割點,割,雙連通分量) 圖的表示(矩陣、鄰接表) 最短路(Dijkstra(+heap)、Floyd、Bellmen-ford、Spfa)、傳遞閉包 最小生成樹 強聯通分量(+縮點) 拓撲排序 橋、邊雙連通分量及性質 割點、點雙連通分量 度限制生成樹、次小生成樹、最優比例生成樹 最小樹形圖 次短路(Dijkstra)、K短路(A*) 差分約束系統 2-SAT 歐拉路徑(回路)、漢密爾頓路(回路) 網絡流(SAP、Dinic) 最大流最小割、平面圖最小割、全局最小割Stoer-Wagner算法 最小費用最大流 有流量上下界的網絡流(費用流) 無源匯的網絡流 二分圖匹配、二分圖最大權匹配 任意圖匹配(帶花樹) 最大權閉合子圖、最大密度子圖 最大團、最大獨立集 |
| 計算幾何 | 基本操作: 叉積、點積 向量平移、旋轉 線段(直線、射線)相交的判斷、求交點 點、線段、直線、平面關系、距離 點在多邊形內/外/上 多邊形周長、面積 二維凸包 最近點對、最近圓對 旋轉卡殼 ??????? 計算距離:凸多邊形直徑、形寬,凸多邊形間的最大、最小距離 ??????? 外界矩形:最小周長、最小面積外界矩形 ??????? 三角剖分:洋蔥、螺旋、四邊形剖分 ??????? 凸多邊形屬性:凸包合并、找公切線、臨界切線、凸多邊形相交、凸多邊形矢量和 ??????? 最薄截面:最薄橫截帶 三角形 球面距離 三維幾何基本操作 ??????? 向量平移、旋轉 ??????? 點、線、面 三維凸包 點集的最小覆蓋圓 最大空心矩形 圓的面積交/并 圓與圓的位置關系 圓與線段、多邊形的關系、面積 半平面交 自適應simpson公式 steiner生成樹 |
| 動態規劃 | 記憶化搜索 最長公共子序列 最長上升序列 背包九講(0/1、完全、依賴、分組、泛化物品) 四邊形不等式優化、斜率優化、單調隊列(1D\1D) 數據結構優化(線段樹優化、堆優化、左偏樹優化) 樹形DP、自動機DP 數位DP、狀態壓縮DP、插頭DP、廣義插頭(最小表示) |
| 博弈論 | Bash Game、Wythoff Game NIM、SG函數 搜索、極大極小搜索 無向圖刪邊博弈 |
| 其他 | 歷法、日期漢諾塔 離散化 找規律 打表 |
轉載于:https://www.cnblogs.com/whitecube71/p/4006731.html
總結
- 上一篇: 简单Linq笔记
- 下一篇: UVA 125 Numbering Pa