營隊課表
*部分課程同時段將分為基礎與進階兩班同時授課
基礎資料結構
先備知識
- 基本 C++ 語法
- 基本遞迴概念
課程大綱
- 常用 STL
- 並查集
- 前綴和/差分序列
- 線段樹
- 樹狀數組 (Binary Indexed Tree)
進階資料結構
先備知識
- 樹狀數組 (Binary Indexed Tree)
- 基本線段樹 + 懶人標記
- 基礎圖論知識
課程大綱
- 線段樹進階操作
- 持久化
- 均攤分析 (Amortized Analysis)
- 吉如一線段樹 (Segment Tree Beats)
- Treap
- Euler Tour Tree
基礎動態規劃
先備知識
- 基本 C++ 語法
課程大綱
- DP 介紹
- Frog
- LIS(最長遞增子序列)
- 選數字
- Vacation
- LCS(最長相同子序列)
- 背包問題
- 旅行推銷員問題
- Slimes
- 其他經典例題
進階動態規劃
先備知識
- 基礎動態規劃
- 單調隊列、線段樹
- 矩陣乘法
課程大綱
- 單調隊列優化
- 斜率優化
- 四邊形優化
- 線段樹優化
- Slope Trick
- Aliens 優化
- 還有更多!
基礎圖論
先備知識
- 基礎 STL
課程大綱
- 圖論介紹
- 存圖方法
- 圖的遍歷
- 最短路徑
- 二分圖
- Tree
- 拓撲排序
進階圖論
先備知識
- 基礎圖論
課程大綱
- 連通分量
- 圓方樹
- 最近共同祖先
- 樹序列化
- 輕重鏈剖分
Greedy
先備知識
- 基礎資料結構
課程大綱
- 正確性證明&構造反例
- 最佳選擇問題
- 排程問題
- 霍夫曼編碼
- 貪心 x 資料結構
- 更多貪心類題
數論
先備知識
- 國高中數學知識
課程大綱
- 判斷質數
- 最大公因數
- 模運算
- 歐拉函數
- 中國剩餘定理
- 基礎賽局
- Nim Game
- Grundy Value
其他解題技巧
先備知識
- 暴力枚舉
課程大綱
- 折半枚舉
- 啟發式合併
- 均攤分析
- bitset 優化
- 根號算法