真‧高中人生電力菜單XD

jw910731 這根本不是高中生讀的完的吧
但神可以再高中唸完他www
我準備Fork給我的ICPC隊友了wwww

本菜單掠過語法部份,直接進入算法及資料結構

時間分級 lv1 ~ lv4,由淺入深
(此難度分層叫為主觀,僅供參考)

lv1

只有這些(不用精熟,搞懂就好)

  • DFS&BFS枚舉
  • 分治法
  • 二分搜
  • 排序(呼叫函式)
  • 前綴和&差分
  • C++的STL容器(vector,deque,list,set,map,priority_queue)
  • 時間複雜度

lv2

資料結構

  • 二元樹
  • heap
  • disjoint-set
  • sparse table

DP

  • 爬樓梯
  • 背包問題
  • LIS&LCS
  • DAG上的DP
  • 樹DP

圖論

  • 樹直徑
  • 樹重心
  • 樹序列化
  • DAG&拓撲序
  • 二分圖測試
  • 一筆劃問題

字串

  • 雜湊函數HASH
  • 字典樹Trie

數學

  • 快速冪
  • GCD(輾轉相除法)
  • 埃氏篩法
  • 線性(歐拉)篩法

計算幾何

  • 三分搜
  • 凸包
  • 線段相交

其他

  • 離散化(排序+編碼)
  • two-pointer

lv3

資料結構

  • 分塊
  • 線段樹
  • BIT
  • 莫隊(離線算法)

DP

  • 區間DP
  • 數位DP
  • 環狀DP
  • 子集合DP

圖論

  • Dijkstra
  • Bellmen-Ford
  • Floyd-Warshall
  • 最小生成樹
  • LCA(倍增)

字串

  • KMP
  • Z-value
  • Manacher’s Algorithm
  • 最小表示法

數學

  • 擴展GCD
  • 費瑪小定理
  • 中國剩餘定理
  • 原根

計算幾何

  • 旋轉卡齒
  • 掃描線
  • 最近點對

lv4

資料結構

  • Treap
  • 主席樹(持久化線段樹)
  • 持久化dijoint-set
  • 動態凸包

DP

  • 插頭DP
  • 單調優化
  • 凸包優化(斜率優化)
  • 四邊形不等式優化

圖論

  • Articulation Point
  • SCC
  • BCC
  • 支配樹
  • 輕重鍊剖分
  • 重心剖分
  • 匈牙利算法

字串

  • 後綴數組
  • 自動機

數學

  • 生成函數
  • 反演技巧
  • FFT

計算幾何

  • 半平面交