信息學競賽知識清單
基本說明:帶*表示省選掌握知識,帶**表示較難省選知識,帶!表示較偏門知識
一、基礎知識
1、STL,參見百科STL總結
2、常見技巧
二、基礎算法
1、遞歸(輸出方案)、枚舉(優化)
[ ] 2、高精度
[ ] 高精度加法、減法、乘法、除法
3、分治
[ ] 二分答案
[ ] 排序算法
[ ] cdq分治*、整體二分
[ ] 樹分治(點分治、邊分治!、鏈分治*)
[ ] 動態點分治*
4、貪心
[ ] 常見貪心
部分揹包問題、最優裝載問題、乘船問題、區間選點、活動安排、區間覆蓋、流水作業、帶期限任務調度、均分紙牌
[ ] 隨機化貪心!
[ ] 5、倍增法
[ ] 6、雙指針
7、模擬
[ ] 約瑟夫問題
[ ] 模擬退火!
[ ] 8、搜索
[ ] dfs、bfs
[ ] 剪枝:折半搜索、可行剪枝、最優化剪枝
[ ] 雙向搜索、A* 搜索、迭代加深、IDA*
三、動態規劃
[ ] 1、揹包類dp
[ ] 2、LIS,LCS、編輯距離
[ ] 3、區間dp
[ ] 4、最大字段和
[ ] 5、最大子矩陣、懸線法
[ ] 6、樹形DP
[ ] 樹上揹包問題
[ ] 樹的直徑、重心
[ ] 換根法
[ ] 其他延展
[ ] 7、數位dp
[ ] 8、狀壓dp
[ ] 9、計數類DP
[ ] 10、概率與期望
[ ] 11、插頭/輪廓線(*)
12、DP優化
[ ] 單調隊列優化
[ ] 數據結構優化
[ ] 斜率優化
[ ] 四邊形不等式優化(*)
四、圖論
[ ] 1、圖論基礎
[ ] 圖的儲存(矩陣、前向星、vector、邊目錄)
[ ] 圖的遍歷(DFS/BFS)
[ ] 2、歐拉路
[ ] 3、最短路
[ ] floyd及應用
[ ] dijkstra、spfa
[ ] 次短路、最短路計數等應用
[ ] 差分約束
4、生成樹
[ ] 最小生成樹(prime、kruskal)
[ ] 次小生成樹、度限制生成樹(*)
[ ] 生成樹計數(*)
[ ] 最小樹形圖(*)
[ ] 最優比例生成樹
[ ] kruskal重構樹(*)
[ ] Steiner Tree*
5、連通性問題
[ ] 割點割橋、邊/點雙連通
[ ] 有向圖強連通(tarjan\korasaju)
[ ] 2-SAT
[ ] 最小點基*
6、拓撲排序
[ ] 拓撲上dp
[ ] 拓撲序字典序
7、二分圖匹配
[ ] 匈牙利算法
[ ] 常見匹配問題及轉換
[ ] 帶權最優匹配
8、網絡流*
[ ] 最大流算法(dinic\isap\HLPP(**))
[ ] 最小割
[ ] 費用流
[ ] 常見問題
[ ] 網絡流解決二分圖問題
[ ] 上下界可行流、費用流
[ ]最大權閉合子圖、最大密度子圖
[ ] 混合圖歐拉回路
[ ] 平面圖
[ ]9、支配樹*
[ ] 10、分數規劃*
[ ] 11、基環樹、仙人掌圖*
[ ]基環樹
[ ] 仙人掌圖問題、圓方樹*
[ ] 12、弦圖**
五、數據結構
1、線性數據結構
[ ] 隊列與棧
[ ] 單調隊列棧
[ ] 哈希表
[ ] 鏈表
[ ] 跳躍表 * 、跳舞鏈 * 、塊狀鏈表*
2、並查集
[ ] 路徑壓縮、按秩合併
[ ] 權值並查集
3、樹論
[ ] 樹與二叉樹基本概念
[ ] 堆
[ ] 二叉堆、優先隊列(STL)
[ ] 可並堆
[ ] LCA(倍增法、歐拉序+ST表、離線tarjan)
[ ] 樹狀數組
[ ] 線段樹、權值線段樹
[ ] 線段樹啓發式合併*
[ ] 平衡樹*
[ ] treap、笛卡爾樹
[ ] splay
[ ] 替罪羊
[ ] 非旋treap
[ ] 勝者樹
[x ] 樹上信息維護
[ ] 樹鏈剖分
[ ] 重輕鏈剖分
[ ] 長鏈剖分*
[ ] dfs序、樹上差分
[ ] 可持久化
[ ] 可持久化鏈表
[ ] 主席樹
[ ] 可持久化treap*
[ ]可持久化trie*
[ ] 樹套樹*
[ ] 虛樹
[ ] 六、根號算法
[ ] 1、分塊
[ ] 2、莫隊算法
[ ]3、樹上莫隊*
[ ] 4、樹分塊
七、字符串算法
[ ] 1、kmp
[ ] 2、trie
[ ] 3、AC自動機*
[ ] 4、manacher(馬拉車)
[ ] 5、後綴數組*
[ ]6、後綴自動機*
[ ] 7、迴文自動機
八、數學
[ ]1、數論
[ ]逆元
[ ] gcd、exGCD
[ ] 篩法
[ ] 埃氏篩
[ ]線性篩
[ ]杜教篩*
[ ] min_25和洲閣篩*
[ ]素數相關
[ ] 費馬小定理及其用途
[ ]歐拉定理
[ ]Miller-Rabin判斷素數*
[ ]Pollard-Rho*
[ ] 同餘問題
[ ]同餘方程求解
[ ]中國剩餘定理、excrt
[ ] 二次剩餘*
[ ]BSGS\exBSGS*
[ ]n次剩餘*
[ ]積性函數*
[ ] 迪尼克卷積
[ ] 莫比烏斯反演
[ ] 2、組合數學
[ ]計數原理
[ ] 排列與組合
[ ]組合數取模、lucas*、exlucas*
[ ] 鴿籠原理
[ ] 容斥原理
[ ] 生成函數*
[ ] 常見遞推式
[ ]catalan數
[ ]stirling數
[ ] 3、羣論
[ ]置換羣
[ ]擬陣
[ ]polya定理
[ ] 4、矩陣
[ ] 矩陣基本運算
[ ]矩陣快速冪
[ ]高斯消元
[ ]Matrix-Tree定理*
[ ] 5、博弈論
[ ]6、微積分初步*
[ ]7、多項式
[ ] FFT\NTT
[ ]fwt\fmt
[ ]拉格朗日插值
[ ]8、線性規劃*
九、計算幾何*
[ ] 點線、矢量等基本運算
[ ]凸包
[ ] 半平面交
[ ] 離散化掃描法
[ ] 旋轉卡殼
[ ] 動態凸包
[ ]圓與球的相關計算
[ ]三維計算幾何
[ ]多邊形
[ ] Simpson積分
十、其他算法
[ ] 打表法
[ ]遺傳算法!