OI 知識體系


OI Training 知識體系結構

初級

1.1 C語言基礎

  1.1.1 C語言程序結構(A+B Problem)

  1.1.2 變量,常量,數據類型,輸入與輸出

  1.1.3 條件語句

  1.1.4 循環語句

  1.1.5 數組

  1.1.6 字符數組、字符串

  1.1.7 指針

  1.1.8 共同體、結構體

  1.1.9 函數

  1.1.10 過關練習題

中級

2.1 深度優先搜索

     2.1.1 棧與遞歸函數

     2.1.2 深搜樹模型與回溯

2.2 寬度優先搜索

     2.2.1 鏈表與隊列

     2.2.2 寬搜樹模型

     2.2.3 搜索過關練習題.

2.3 排序問題

  2.3.1冒泡排序,選擇排序,插入排序

  2.3.2 二分查找

  2.3.3 快速排序

  2.3.4 歸並排序

  2.3.5 桶排序

  2.3.6 排序過關練習

2.4 貪心、模擬

  2.4.1貪心策略與最優性原理

  2.4.2 經典模擬

  2.4.3字符串模擬

  2.4.4 過關練習

高級

3.1 動態規划

  3.1.1 動歸思想與分析過程(遞推法,狀態,階段,決策,邊界)

  3.1.2 背包模型

  3.1.3 子序列模型

  3.1.4 區間模型

  3.1.5 資源分配模型

  3.1.6 滾動數組

  3.1.7 記憶化搜索

  3.1.8 動態規划過關練習

3.2 基礎數論

  3.2.1 整數的性質

  3.2.1 質數與整除

  3.2.3 同余定理

  3.2.4 基礎數論過關練習

3.3高精度

     3.3.2 大數加減法

     3.3.3 大數乘法

     3.3.4 大數除法與取余

     3.3.5 高精度過關練習

3.4 樹與森林

     3.4.1 樹和森林的特征與區別

     3.4.2 樹、森林的存儲方式

     3.4.3 樹、二叉樹的遍歷

     3.4.4 哈夫曼樹

     3.4.5 鍵樹

     3.4.5 並查集,LCA

     3.4.6 樹模型過關練習

3.5 圖

  3.5.1 圖的概念與性質

  3.5.2 圖的存儲(鄰接矩陣,邊表等)

  3.5.3 連通分量與強連通分量

  3.5.4 生成樹問題(最小,次小,生成樹計數)

  3.5.5 最短路徑(單源,多源各種算法)

  3.5.6 拓撲排序

3.6哈希表

  3.6.1哈希表的作用(標記數組,快速定位,優化程序的利器)

  3.6.2哈希表的性質(哈希沖突)

  3.6.3哈希表與字符串

3.7 位運算與常數優化

  3.7.1 位運算應用舉例

  3.7.2 常數優化舉例

3.8 C++ STL模板的應用(各種常用的數據結構的用法介紹和演示)

  3.8.1 algorithm

  3.8.2 list

精英級

4.1 搜索與剪枝

  4.1.1 最優性剪枝

  4.1.2 A*搜索,啟發式搜索,雙向搜索

  4.1.2 迭代加深搜索

  4.1.3 模擬退火

4.2 優先隊列

  4.2.1 二叉堆

  4.2.2 可並優先隊列(左偏樹,二項堆)

4.3 動態規划

  4.3.1狀態壓縮動態規划

  4.3.2 決策單調性與斜率優化(單調隊列)

  4.3.4四邊形不等式優化

  4.3.5樹型動態規划

  4.3.6迭代型動態規划

  4.3.7 高級數據結構優化

4.4 線段樹,樹狀數組

  4.4.1 樹狀數組的概念與原理

  4.4.2 樹狀數組的應用

  4.4.3 線段樹的原理與模型

  4.4.4 線段樹的標記遺傳

  4.4.5 線段樹的應用(區間計數,區間覆蓋,動態規划優化等,越詳細越好)

4.5 幾何

  4.5.1 解析幾何,圖形與方程

  4.5.2 計算幾何,向量運算,叉積。

  4.5.3 凸包

  4.5.4 圓並

  4.5.5 半平面交

  4.5.6 幾何經典問題

4.6 經典數論

  4.6.1 歐拉函數

  4.6.2 不定方程

  4.6.3 中國剩余定理

  4.6.4 數論經典問題

4.7 線性代數

  4.7.1 矩陣

  4.7.2 高斯消元與行列式

  4.7.3 模線性方程組

  4.7.4 矩陣乘法與遞推關系

4.8 二叉查找樹

  4.8.1 概念與性質

  4.8.2 平衡樹的性質與模型

  4.8.3 B樹的模型與應用

  4.8.4 紅黑樹的模型與應用

  4.8.5 Treap的模型與應用

  4.8.6 伸展樹(Splay)的模型與應用

4.9 串問題

  4.9.1 模式匹配

  4.9.2 AC自動機

  4.9.3 擴展KMP算法

  4.9.4 后綴樹

  4.9.5 后綴數組

4.10 網絡流

     4.10.1 概念與算法(dinic,sap等)

  4.10.2 最大流與最小割

  4.10.3 有費用的網絡流

  4.10.4 有流量上下界的網絡流(zkw等)

4.11 二分圖

  4.11.1 最大匹配

  4.11.2 最大權匹配

4.12 組合數學

  4.12.1 鴿籠原理與Ramsey定理

  4.12.2 排列組合與容斥原理

  4.12.3 群論與置換群

  4.12.4 Burnside引理與Pólya定理

  4.12.5 數列與母函數

4.13 游戲與博弈

  4.13.1 最小最大原理

  4.13.2 Nim游戲與SG定理

  4.13.3 其他模型

大師級

5.1 動態規划狀態設計

  5.1.1 基於連通性的狀態壓縮

5.2 樹的分治

  5.2.1 基於邊的分治

  5.2.2 基於點的分治

  5.2.3 基於鏈的分治

5.3 各種高級數據結構

  5.3.1 動態樹

  5.3.2 划分樹

  5.3.3 樹鏈剖分

  5.3.4 歸並樹

  5.3.5 帶花樹

  5.3.6 塊鏈

  5.3.7 Dancing Link

5.4 高級數據結構嵌套

  5.4.1 線段樹嵌套

  5.4.2 各種樹套樹

5.5 快速傅里葉變換(fft)

  5.5.1 快速多項式乘法

  5.5.2 單位模根

5.6 各種數論(自行挖掘)

  不平等博弈

  差約分束

  擴展歐幾里德

  行列式

  多重積分

  離散對數

  原根

  置換群

  母函數

  dance link

  動態仙人球

  遺傳算法

  FFT

  高斯消元

  最小表示法

  基於母函數的優化

  分層

  重構圖

  各種分塊

  單純形法

  polya定理

  期望類問題

………

知識是不斷完善和無限的 !

 

這里還有一張圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM