課前自我鍛鍊

先到各大 Online Judge 申請帳號寫題目吧!

舒適的打比賽環境

  • 建置你的開發環境
  • 測試比賽環境指南
  • 點心 x 飲料 x 氣球

預備的預備知識

  • 網路資源
  • 你的好友

動態規劃

預備知識

  • DP

課程大綱

  • DP

資料結構進階

預備知識

  • 基本線段樹與懶人標記
  • 單調隊列
  • 分治法

課程大綱

  • pattern
  • 暴力的線段樹&懶人標記
  • 紀錄歷史的線段樹

資料結構初階

預備知識

  • 圖和樹的基本概念

課程大綱

  • 線段樹
  • BIT
  • Treap
  • 持久化資料結構(並查集、Treap、線段樹)

網路流

預備知識

  • 一顆熱忱的心
  • 認真上圖論課

課程大綱

  • 網路流的定義
  • 各種網路流的算法
  • 最小費用最大流
  • 流的應用

組合賽局

預備知識

  • 數學歸納法
  • XOR(exclusive or)

課程大綱

  • 組合賽局的定義與分類
  • 賽局和
  • Nim
  • SG定理(Sprague–Grundy theorem)
  • Hackenbush
  • 簡化原理(Simplicity principle)

圖論

預備知識

  • 圖的遍歷:DFS, BFS
  • 最短路徑

課程大綱

  • 最小生成樹、並查集、啟發式合併
  • 圖的連通性
  • 樹論
  • 匹配、擬陣
  • 其他圖的主題

數學

預備知識

  • 高中課內數學

課程大綱

  • 計數
  • 數論
  • FFT&NTT
  • 生成函數

字串

預備知識

  • 字串的輸入、儲存、語法

課程大綱

  • Trie
  • Hash
  • Z-value
  • KMP
  • Suffix array
  • AC 自動機