我把這次 APCS 的成績,當作一次誠實盤點:哪些做對、哪些只是運氣、哪些需要在日常慢慢補齊。
身在資源較少的環境,成績可喜,但更想保留一點謙虛與清醒。
成績紀錄(時間軸)
- 2024/10(113 年 10 月):觀念 2、實作 1
- 2025/01(114 年 1 月):僅應試 實作 → 3
- 2025/06(114 年 6 月):觀念 3、實作 3
準備與調整:觀念 vs. 實作
觀念題(以 C 語言出題)
我平常主要用 Python,面對 C 語言的觀念題,等於多一層「翻譯」:
把熟悉的邏輯對應到 C 的型別、指標/陣列、運算子優先序與流程控制。這過程迫使我回到本質,理解不同語言背後共通的計算模型與資料表徵。
實作題(基本演算法的臨場運用)
實作題核心放在基本演算法與資料結構的靈活應用與配速,而非特殊語法。
我重點練習與回顧的主題包含:
- 陣列/字串處理、模擬題(邏輯拆解、邊界處理)
- 排序與搜尋(自訂排序鍵、二分搜尋/答案二分)
- 前綴和、差分、計數陣列(把 O(n·q) 化簡為 O(n+q) 的思維)
- 雙指針/滑動視窗(區間和、最長/最短子陣列)
- 貪婪策略(排序後局部最優、證明直覺)
- 圖與走訪(BFS/DFS、網格走迷宮、連通區塊)
- 基礎 DP 入門(一維/二維轉移、狀態設計與記憶化)
- 時間複雜度直覺(估計 n、m 尺度;先保底可行解,時間夠再優化)
這次我學到的(反思)
- 讀題耐心 > 花式技巧:不少失分來自 條件漏看 / 邊界遺漏;放慢 10 秒,常能救回 10 分。
- 先穩後難:實作先拿穩定題(前兩題),建立節奏,再把時間留給需要思考的題。
- 資料結構選擇感:何時用
set/dict(或 C 的對映結構思維)、何時只用陣列就夠,直接影響實作速度。 - 複雜度「能過就好」:在可接受時限內,先做出 對且可過 的版本,再考慮從 O(n·q) 降到 O(n log n) 或 O(n)。
我不確定下次還能拿到同樣分數,但可以確定的是:把反思變成習慣,實力會慢慢往上走。
接下來的做法(自我要求)
- 題 → 觀念 → 再題:用題目定位盲點,回補核心觀念,再用題驗收。
- 錯題索引:把經典主題(雙指針、前綴和、BFS/DFS、貪婪 vs. DP)各寫一頁「何時用/怎麼想」。
- 限時模擬:刻意練「卡題立刻換題,最後回收」,配速要變成肌肉記憶。
- 範式庫:為常見題型整理簡潔的範式(輸入處理、核心轉移、輸出檢查)。
技術關鍵字
演算法複雜度 | 資料結構 | 排序 | 二分搜尋 | 前綴和 | 雙指針 | 貪婪 | BFS/DFS | DP | 程式邏輯

(可放整理筆記或練習截圖)
