營隊課表

*部分課程同時段將分為基礎與進階兩班同時授課

基本技巧

先備知識

課程大綱

  • 遞迴
  • 基本分治法
  • 二分搜尋法
  • 三分搜尋法
  • 倍增法
  • 基本枚舉技巧
  • 雙指針
  • 常見排序法

基礎資料結構

先備知識

  • 基本 C++ 語法
  • 基本遞迴概念

課程大綱

  • 常用 STL
  • 並查集
  • 前綴和/差分序列
  • 線段樹
  • 樹狀數組 (Binary Indexed Tree)

進階資料結構

先備知識

  • 樹狀數組 (Binary Indexed Tree)
  • 基本線段樹 + 懶人標記
  • 基礎圖論知識

課程大綱

  • 線段樹進階操作
  • 持久化
  • 均攤分析 (Amortized Analysis)
  • 吉如一線段樹 (Segment Tree Beats)
  • Treap
  • Euler Tour Tree

基礎動態規劃

先備知識

  • 基本 C++ 語法

課程大綱

  • DP 介紹
  • Frog
  • LIS(最長遞增子序列)
  • 選數字
  • Vacation
  • LCS(最長相同子序列)
  • 背包問題
  • 旅行推銷員問題
  • Slimes
  • 其他經典例題

進階動態規劃

先備知識

  • 基礎動態規劃
  • 單調隊列、線段樹
  • 矩陣乘法

課程大綱

  • 待定

基礎圖論

先備知識

  • 基礎 STL

課程大綱

  • 圖論介紹
  • 存圖方法
  • 圖的遍歷
  • 最短路徑
  • 二分圖
  • Tree
  • 拓撲排序

進階圖論

先備知識

  • 基礎圖論

課程大綱

  • 連通分量
  • 圓方樹
  • 最近共同祖先
  • 樹序列化
  • 輕重鏈剖分

Greedy

先備知識

  • 基礎資料結構

課程大綱

  • 正確性證明&構造反例
  • 最佳選擇問題
  • 排程問題
  • 霍夫曼編碼
  • 貪心 x 資料結構
  • 更多貪心類題

數論

先備知識

  • 待定

課程大綱

  • 判斷質數
  • 最大公因數
  • 模運算
  • 歐拉函數
  • 中國剩餘定理
  • 基礎賽局
  • Nim Game
  • Grundy Value

其他解題技巧

先備知識

  • 暴力枚舉

課程大綱

  • 折半枚舉
  • 啟發式合併
  • 均攤分析
  • bitset 優化
  • 根號算法