Plan & Future

如下是OI省選前的數據結構與算法整理,可能還不是很全面。可是已是全網相對比較全面的了。全部標記爲「基礎」「進階」「中級」「提升」的知識爲近些年來NOIp考察的內容,需重點掌握。html

全部「高級」部分爲NOI的考點,省選須要。算法

不分條的知識點則是省選知識點。數組

其餘的一些算法和數據結構可能就過小衆了,就參見Candy?或_rqy的博客,以及TopCoder等網站的教程吧。網絡

每一小項前面的方括號是Markdown裏面的checkbox,然而並不能用。悲し。數據結構

  1. Coder必備類
    1. [ ] LaTeX
    2. [ ] Vim或Emcas的使用
    3. [ ] Markdown
    4. [ ] Linux基礎
  2. OI知識
    1. 圖論
      1. 基礎
        1. [x] 圖的存儲
        2. [ ] 圖的連通性
        3. [ ] 連通份量
        4. 各類各樣的圖
          1. [ ] 歐拉圖
          2. [ ] 歐拉回路
        5. 最短路相關
          1. [x] Dijkstra
          2. [x] Floyd(我如今還不會Floyd你信嗎?)
          3. [x] 最短路計數
        6. [ ] Tarjan
        7. 二分圖(網絡流算法初步?
          1. [ ] 匈牙利算法
          2. [ ] KM算法
        8. [ ] 拓撲排序
      2. 高級
        1. [ ] 次短路
        2. [ ] K短路
        3. [ ] 割點、割邊
        4. [ ] 拆點、拆邊
    2. 樹論
      1. 基礎
        1. [ ] DFS序
        2. [ ]倍增LCA
        3. [ ] MST(Kruskal)
      2. 高級
        1. [ ] 樹鏈剖分
        2. 樹分治
          1. [ ] (動態)點分治
          2. [ ] (動態)邊分治
        3. 動態樹
          1. [ ] LCT
          2. [ ] 樹分塊
        4. [ ] 虛樹
        5. [ ] Prufer編碼
    3. 動態規劃
      1. 基礎
        1. [ ] 序列型DP
        2. [ ] 揹包型DP
        3. [ ] 區間型DP
        4. [ ] 環形DP
        5. [ ] 棋盤型DP
        6. [ ] 普通多維DP
      2. 進階
        1. [ ] 複雜的多維DP
        2. [ ] 多線程DP
        3. [ ] 數位DP
        4. [ ] 指望DP
        5. [ ] 狀壓DP基礎
      3. 高級
        1. [ ] 樹形DP
        2. [ ] DP的優化
        3. [ ] 狀壓DP Advanced
        4. [ ] 插頭DP
        5. [ ] 博弈論DP
        6. [ ] DP套DP
    4. 數據結構
      1. 初步
        1. [x] 數組
        2. [x] 鏈表
        3. [x] 棧
        4. [x] 隊列
        5. [x] 堆
      2. 基礎
        1. [x] 雙向鏈表
        2. [ ] 單調棧
        3. [x] 雙端隊列(deque)
        4. [ ] 單調隊列
      3. 中級
        1. 並查集
          1. [x] 路徑壓縮
          2. [ ] 按秩合併
          3. [ ] 帶權並查集
        2. hash表
          1. 模法
            1. [ ] 天然溢出
            2. [ ] 雙hash
          2. 按防碰撞方式
            1. [ ] 開放尋址法
            2. [ ] 拉鍊法
        3. [ ] 樹狀數組
        4. [ ] 線段樹
          1. [ ] 普通線段樹
          2. [ ] zkw線段樹
        5. [ ] 塊狀數組
        6. [ ] 塊狀鏈表
      4. 高級
        1. 線段樹
          1. [ ] 線段樹的合併
          2. [ ] 線段樹的分裂
        2. 平衡樹
          1. Treap
            1. [ ] 無旋Treap(fhq?)
            2. [ ] 普通Treap
          2. [ ] Splay
          3. [ ] 替罪羊樹
          4. [ ] 紅黑樹(可能不會學)
          5. [ ] 朝鮮樹等各類各樣神奇的東西
        3. 樹套樹
          1. [ ] 線段樹套線段樹
          2. [ ] 線段樹套平衡樹
          3. [ ] 平衡樹套線段樹
        4. 可並堆
          1. [ ] 斜堆
          2. [ ] 斐波那契堆
          3. [ ] 左偏樹
          4. [ ] 配對堆
        5. [ ] K-D樹
        6. [ ] 四分樹
        7. 可持久化數據結構
          1. [ ] 可持久化數組
          2. [ ] 可持久化並查集
          3. [ ] 可持久化線段樹(主席樹)
          4. [ ] 可持久化主席樹
          5. [ ] 可持久化平衡樹(Treap)
          6. [ ] 可持久化塊狀數組
    5. 網絡流
      1. 最大流
        1. [ ] Ford-Fulkerson方法
        2. [ ] Edmonds-Karp算法
        3. [ ] Dinic算法
        4. [ ] ISAP算法
      2. 最小割
        1. [ ] Stoer-Wagner算法
        2. [ ] Karger算法
      3. 費用流
        1. [ ] Bellman-Ford算法(誒?)
        2. [ ] zkw算法
      4. [ ] 分數規劃
    6. 字符串
      1. 基礎
        1. [ ] hash
        2. [ ] KMP算法
        3. [ ] BM算法
        4. [ ] Sunday算法
        5. [ ] Trie樹
      2. 提升
        1. [ ] AC自動機
        2. [ ] Manacher算法
      3. 高級
        1. [ ] 後綴數組
        2. [ ] 後綴樹
        3. [ ] 後綴自動機
        4. [ ] 可持久化Trie樹
    7. 數論
      1. 基礎
        1. [-] (擴展)歐幾里得算法
        2. [ ] 快速冪
        3. [ ] 素數篩法(歐拉篩)
        4. [ ] 裴蜀定理
        5. [ ] 歐拉函數
        6. 排列組合
          1. [x] 楊輝三角
          2. [ ] (擴展)Lucas定理
        7. [ ] 乘法逆元
        8. 矩陣相關
          1. [x] 矩陣乘法
          2. [x] 矩陣快速冪
        9. [ ] 指望與機率基礎
        10. [ ] 容斥原理基礎
      2. 高級
        1. [ ] 費馬小定理
        2. [ ] 降冪大法
        3. 博弈論
          1. [ ] SG定理
          2. [ ] SG函數(Nim取石子游戲)
          3. [ ] SJ定理
          4. [ ] 樹上刪邊遊戲
          5. [ ] 組合遊戲
        4. [ ] 拉格朗日乘子法
        5. [ ] 中國剩餘定理
        6. 線性規劃
          1. [ ] 單純型線性規劃
          2. [ ] 線性規劃與網絡流
        7. [ ] 辛普森積分
        8. [ ] 模線性方程組
        9. [ ] 莫比烏斯反演
        10. 容斥原理進階
          1. [ ] 置換羣
          2. [ ] Burnside引理
          3. [ ] Polya定理
        11. [ ] 快速傅里葉變換
        12. [ ] 快速沃爾什變換
        13. [ ] 快速數論變換
    8. 計算幾何
      1. [ ] 計算幾何基礎概念(點、直線、線段等的表示,關係的斷定)
      2. [ ] 三維計算幾何初步
      3. [ ] 凸包
      4. [ ] 旋轉卡殼
      5. [ ] 半平面交
      6. [ ] Pick定理
      7. [ ] 三角形剖分與梯形剖分
      8. [ ] 掃描線
    9. 搜索
      1. 基礎
        1. [x] 枚舉
        2. [ ] 遞歸
        3. [ ] DFS
        4. [ ] BFS
        5. [ ] 記憶化搜索
      2. 高級
        1. [ ] A*算法
        2. [ ] 迭代加深搜索
        3. [ ] 雙向BFS
        4. [ ] 斯坦納樹
        5. [ ] Meet-in-the-middle
    10. 其餘重要算法
      1. 基礎
        1. [ ] 模擬
        2. [ ] 貪心
        3. [ ] 二分法
        4. [ ] 三分法
        5. [ ] 分治
        6. [ ] 高精度
      2. 提升
        1. [ ] ST表
        2. [ ] 浮水法
        3. [ ] 離散化
      3. 高級
        1. [ ] 離線
        2. [ ] CDQ分治
        3. [ ] 差分約束系統
    11. 暴力算法與數據結構
      1. [ ] 分塊
      2. [ ] 莫隊
      3. [ ] 帶修改莫隊
      4. [ ] 樹上莫隊
      5. [ ] 樹上帶修改莫隊
    12. 隨機化算法
      1. [ ] 登山算法
      2. [ ] 隨機增量法
      3. [ ] 模擬退火
      4. [ ] 遺傳算法
    13. STL
      1. 基礎
        1. [x] vector
        2. [x] string
        3. [x] priority_queue
        4. [x] set&map
        5. [x] 常見數據結構
      2. 高級
        1. [ ] bitset
        2. [ ] rope
        3. [ ] pb_ds
    14. 很是見算法
      1. [ ] 朱劉算法
      2. [ ] 弦圖與區間圖
      3. [ ] 三維偏序

初步計劃2月24日(~14周*7=98天)前複習完NOIp知識點86個(明顯的須要提速,省選內容不可能一天學一個知識點)。多線程

剩下的內容(104個知識點)在2月25日到7月28日(~23周*7=161天)完成。ide

第一部分Coder必備看看就行了。函數

以上列表打x的爲已經學會的(很是熟練)。劃-的爲部分完成的,空着的表示還沒有完成。優化

全部新學的東西都會有個博客來整理一下吧。固然之前會了的東西那就看狀況再說。網站

$\text{\color{red}{萌萌噠}}$

相關文章
相關標籤/搜索