1. 程式人生 > >All knowledge of OI

All knowledge of OI

主席樹 生成 搜索 splay 置換 二分答案 p s 最短 地圖

---------------------不定期更新------------------------

OIer 知識點

一 字符串

(1) Knuth-Morris-Pratt
(2) Hash hash表
(3) Trie
(4) Aho-Corasick automaton
(5) Suffix-Tree(後綴樹)
(6) Manacher
(7) Huffman

二 動態規劃
(1) 背包dp
(2) 線性dp
(3) 環狀dp
(4) 多維dp
(5) 區間dp
(6) 狀壓dp
(7) 樹形dp
(8) 優化-單調隊列
(9) 優化-斜率優化
(10) 優化-降維
(11) 優化-矩陣加速

三 數學
(0) 模數 歐拉定理 逆元
(1) 篩法 積性函數
(2) 不定方程 gcd->exgcd
(3) 同余 crt->excrt 原根
(4) 組合數學
  排列組合基礎幾個問題
  康托展開 容斥 Lucas
  Fibonacci Catalan Stirling
(5) 概率與期望
(6) 矩陣乘法 高斯消元
(7) 線性基 異或方程組
(8) 離散對數BSGS
(9) 二次探測 Miller Rabin素數判定
(10) 向量 矩陣 行列式
(11) 計算幾何
  凸包 旋轉卡殼
  平面幾何量相交
  平面最近點對
  掃描線
(12) Simpson積分
(13) 博弈論 SG
(14) 置換 Ploya引理
(15) FFT NTT FWT
(16) 莫比烏斯反演 杜教篩

四 圖論
(1) 遍歷地圖 遍歷樹
(2) 最小生成樹 次小生成樹 生成樹計數
(3) 最短路/分層最短路 差分約束 k短路
(4) tarjan 縮點 點雙 邊雙
(5) 拓撲排序
(6) 負環 2-SAT 哈密爾頓回路 歐拉回路
(7) 二分圖匹配 Konig定理 最大流 費用流 上下界流 可行流
(8) Dinic 最高標號預留推進

五 線性數據結構
(1) 前綴和 差分數組
(2) 棧 dfs樹
(3) 隊列
(4) 向量
(5) 分塊 莫隊
(6) st表 RMQ
(7) 並查集

六 樹形數據結構
(1) 樹狀數組 線段樹 二維線段樹 主席樹
(2) 平衡樹 scapegoat tree / splay / fhq treap
(3) 二叉堆(優先隊列) 可並堆(左偏樹) 斜堆
(4) 樹的直徑 LCA 樹上差分(點差分,邊差分)
(5) 樹的重心 點分治
(6) 樹鏈剖分
(7) 樹上倍增
(8) 虛樹
(9) cdq分治 整體二分 樹套樹
(10) 動態樹 LCT
(11) K-D Tree
(12) 環套樹 樹套環

七 其他
(0) 騙分 打表 隨機答案
(1) 可持久化
(2) 離散化
(3) 隨機化 模擬退火
(4) 搜索
DFS BFS IDDFS A*
(5) 啟發式合並
(6) 隨機化(模擬退火/強制優化)
(7) 模擬 貪心 枚舉 分治 遞歸 構造
(8) 排序
(9) 二分答案 二分查找
(10) 高精度
(11) 位運算

All knowledge of OI