To Do List

非遠古\(NOIP\)題目補完(即\(2011\)年及之後)算法

提升算法

DP

  • 線性 DP
  • 區間 DP
    • 四邊形不等式優化
  • 劃分 DP
  • 簡單優化
    • 單調隊列
    • 單調棧
    • 其餘數據結構(線段樹等)
  • 指望 DP
  • 狀壓 DP
    • 枚舉子集的複雜度是\(O(3^n)\)
    • 熟記各類位運算
    for(int S0 = S; S0; S0 = (S0 - 1) & S) {
      S1 = S0 ^ S;
      // S爲原集合,S0爲S的全部非空子集,S1爲S0以S爲全集時的補集
    }
  • 計數 DP
  • 數位 DP

字符串

  • KMP
  • 字典樹(Trie)
  • 哈希(Hash)
  • AC 自動機

數據結構

  • 線段樹
    • 掃描線
  • 樹狀數組
  • 平衡樹
  • 分塊
  • 主席樹

樹上問題

  • 樹的直徑
  • 樹的重心
    • 定義:最大的子樹節點數最少
    • 求法:欽定點1爲根,而後每一個點爲根的狀況的全部子樹就是以1爲根時的子樹和它以外的全部節點構成的子樹
  • 樹上求 LCA(倍增或樹鏈剖分皆可)
  • 樹上差分
  • 基環樹
  • 樹鏈剖分

圖上問題

  • Tarjan 和縮點 DP
    • 有向圖/無向圖Tarjan,割點,橋,點/邊雙聯通份量
  • 最小生成樹
  • 最短路問題
    • Floyd
    • Dijkstra
    • Bellman-Ford / SPFA
      • SPFA求負環
  • 二分圖匹配
  • 差分約束

數學

  • gcd 和 exgcd
  • 乘法逆元
  • 矩陣快速冪
  • 組合計數與容斥原理
  • 機率與指望
  • 中國剩餘定理
  • 高斯消元
    • 線性基
  • 博弈論基本模型及SG函數

其餘

  • 搜索
  • 貪心
  • 二分
    • 三分
  • STL
相關文章
相關標籤/搜索