---
# System prepended metadata

title: HSNU 進階程式設計 (APCS)
tags: [advanced programming, ' HSNU', ' APCS', ' high school']

---

---
robots: index, follow
tags: advanced programming, APCS, HSNU, high school
description: HSNU 進階程式設計 (APCS)
lang: zh-tw
dir: ltr
breaks: true
disqus: ss8651twtw
GA: UA-119880828-2
---

# HSNU 進階程式設計 (APCS)

[TOC]

## 課程內容

:::info
[上課教材 ap325](https://drive.google.com/drive/u/0/folders/10hZCMHH0YgsfguVZCHU7EYiG8qJE5f-m)
[AP325 Online Judge](https://judge.tcirc.tw/Problems?tabid=AP325#tab03)
[課後練習們 - 1](https://vjudge.net/contest/423651)
[課後練習們 - 2](https://vjudge.net/contest/434763)
[課程影片播放清單](https://www.youtube.com/playlist?list=PLk89QqVlfMfK55P1YqQa8RaqoA7G17Ksv)
:::

### 秋季班

#### Week 1 (02/23)

- 遞迴
    - [P-1-1 合成函數 (1)](https://judge.tcirc.tw/ShowProblem?problemid=d001)
    - [P-1-3 棍子中點切割](https://judge.tcirc.tw/ShowProblem?problemid=d003)

#### Week 2 (03/02)

- 遞迴
    - [P-1-7 子集合乘積](https://judge.tcirc.tw/ShowProblem?problemid=d006)
- 排序與二分搜
    - [P-2-1 不同的數 - 排序](https://judge.tcirc.tw/ShowProblem?problemid=d010)
    - [P-2-2 離散化 – sort](https://judge.tcirc.tw/ShowProblem?problemid=d011)

#### Week 3 (03/09)

- 排序與二分搜
    - [P-2-3 快速冪](https://judge.tcirc.tw/ShowProblem?problemid=d012)
    - [P-2-6 Two-Number problem](https://judge.tcirc.tw/ShowProblem?problemid=d015)

#### Week 4 (03/16)

- 排序與二分搜
    - [P-2-9 子集合乘積(折半枚舉)](https://judge.tcirc.tw/ShowProblem?problemid=d018)
    - [P-2-11 最接近的區間和](https://judge.tcirc.tw/ShowProblem?problemid=d020)
    - [P-2-15 圓環出口 (APCS202007)](https://judge.tcirc.tw/ShowProblem?problemid=d024)

#### Week 5 (03/23)

- TOI 線上練習賽

#### Week 6 (03/30)

- 期中考

#### Week 7 (04/06)

- 佇列與堆疊
    - [P-3-1 樹的高度與根 (bottom-up) (APCS201710)](https://judge.tcirc.tw/ShowProblem?problemid=d025)
    - [P-3-2 括弧配對](https://judge.tcirc.tw/ShowProblem?problemid=d026)

#### Week 8 (04/13)

- 佇列與堆疊
    - [P-3-4 最接近的高人 (APCS201902, subtask)](https://judge.tcirc.tw/ShowProblem?problemid=d028)
    - [P-3-6 砍樹 (APCS202001)](https://judge.tcirc.tw/ShowProblem?problemid=d030)

#### Week 9 (04/20)

- TOI 線上練習賽檢討 (2021/03/22~2020/03/30)

#### Week 10 (04/27)

- TOI 線上練習賽

#### Week 11 (05/04)

- 貪心演算法與掃瞄線演算法
    - [P-4-9 基地台 (APCS201703)](https://judge.tcirc.tw/ShowProblem?problemid=d049)
    - [P-4-11 線段聯集 (APCS 201603)](https://judge.tcirc.tw/ShowProblem?problemid=d050)

#### Week 12 (05/11)

- 期中考

#### Week 13 (05/18)

- TOI 線上練習賽檢討 (2021/04/26~2021/04/30) 影片講解
    - [新手組](https://youtu.be/3OPsm1YwOsk)
    - [潛力組 - 枯枝](https://youtu.be/4b_5I1Wb-ug)
    - [潛力組 - YouTube 頻道](https://youtu.be/H5szn7--Dpg)
    - [潛力組 - 遊戲升等](https://youtu.be/SYz_Kxmgqpg)

#### Week 14 (05/25)

- 分治演算法
    - [P-5-4 反序數量 (APCS201806)](https://judge.tcirc.tw/ShowProblem?problemid=d064)
    - [影片連結](https://youtu.be/jriHQchGYZE)
- 動態規劃
    - [P-6-21 刪除邊界 (APCS201910)](https://judge.tcirc.tw/ShowProblem?problemid=d082)
    - [影片連結](https://youtu.be/j99VnWTNS4o)

#### Week 15 (06/01)

- 動態規劃
    - [P-6-19 階梯數字 (APCS201802)](https://judge.tcirc.tw/ShowProblem?problemid=d080)
    - [影片連結](https://youtu.be/wn_ASs0Lx1Q)
- 基本圖論演算法
    - [P-7-3 機器人走棋盤 (APCS 201906)](https://judge.tcirc.tw/ShowProblem?problemid=d092)
    - [影片連結](https://youtu.be/SaF-_ZIc8Nk)

#### Week 16 (06/08)

- TOI 線上練習賽
    - [新手組解答](https://gist.github.com/ss8651twtw/3023df5fd25effd145bbaed7782039d7)
    - [潛力組解答](https://gist.github.com/ss8651twtw/0307d3ba429d5d143401e3589351b001)

#### Week 17 (06/15)

- TOI 線上練習賽檢討 (2021/06/07~2021/06/11) 影片講解
    - [新手組](https://youtu.be/3VVWo2gBFPk)
    - [潛力組 - 迷宮](https://youtu.be/lYEoV0mVl2E)
    - [潛力組 - 零](https://youtu.be/Aa0rU7_aFsE)
    - [潛力組 - 海嘯](https://youtu.be/1zyXO4TtTlw)

#### Week 18 (06/22)

- 樹上演算法
    - [P-8-5 自動分裝 (APCS202002)](https://judge.tcirc.tw/ShowProblem?problemid=d105)
        - [影片連結](https://youtu.be/r6mL4zQbsXU)
    - [P-8-14 血緣關係 (APCS201603)](https://judge.tcirc.tw/ShowProblem?problemid=d111)
        - [影片連結](https://youtu.be/B9lm7gHfdSQ)

#### Week 19 (06/29)

- TBD

### 夏季班

#### Week 2 (09/08)

- [課程規劃](https://drive.google.com/file/d/1lXatYTJ-nhmS5aW45odI5oyFb0uY-FEq/view?usp=sharing)
- [計算複雜度](https://drive.google.com/file/d/1JMpLZ4egluCS8okdrMnBIJo78wjSyfWo/view?usp=sharing)

#### Week 3 (09/15)

- [STL 簡介](https://drive.google.com/file/d/1q0V5Bnk9wufGKapE9Oc7GjX91KV-PQnU/view?usp=sharing)

#### Week 4 (09/22)

- [練習賽：STL part 1](https://vjudge.net/contest/394202)

#### Week 5 (09/29)

- [練習賽：Re: 從零開始的高中生活](https://vjudge.net/contest/397625)

#### Week 6 (10/06)

- 練習賽講解
- 遞迴

#### Week 7 (10/13)

- 期中考

#### Week 8 (10/20)

- 109-10 APCS 題目練習講解
    - [f312: 1. 人力分配](https://zerojudge.tw/ShowProblem?problemid=f312)
    - [f313: 2. 人口遷移](https://zerojudge.tw/ShowProblem?problemid=f313)

#### Week 9 (10/27)

- 貪心演算法
- TOI 線上練習賽

#### Week 10 (11/03)

- 分治演算法

#### Week 11 (11/10)

- 動態規劃 part 1

#### Week 12 (11/17)

- 動態規劃 part 2
    - [f314: 3. 勇者修煉](https://zerojudge.tw/ShowProblem?problemid=f314)

#### Week 13 (11/24)

- TOI 線上練習賽

#### Week 14 (12/01)

- TOI 線上練習賽檢討 (2020/10/26~2020/10/30)

#### Week 15 (12/08)

- 基本圖論演算法 part 1
    - 介紹
    - BFS

#### Week 16 (12/15)

- 基本圖論演算法 part 2
    - DFS
    - 練習題

#### Week 17 (12/22)

- TOI 線上練習賽

#### Week 18 (12/29)

- 樹上演算法
    - 基本觀念與名詞
    - 資料結構與基本演算法

#### Week 19 (01/05)

- TOI 線上練習賽檢討 (2020/11/23~2020/11/27)
- TOI 線上練習賽檢討 (2020/12/21~2020/12/25)

#### Week 20 (01/12)

- 110-01 APCS 題目練習講解
    - [f605: 1. 購買力](https://zerojudge.tw/ShowProblem?problemid=f605)
    - [f606: 2. 流量](https://zerojudge.tw/ShowProblem?problemid=f606)
    - [f607: 3. 切割費用](https://zerojudge.tw/ShowProblem?problemid=f607)
    - [f608: 4. 飛黃騰達](https://zerojudge.tw/ShowProblem?problemid=f608)

#### Week 21 (01/19)

- 期末考

## 競賽資訊

:::info
[各種高中生的資訊競賽列表](https://github.com/ss8651twtw/Awesome-High-School-Competition)
:::

### [APCS](https://apcs.csie.ntnu.edu.tw/)

- [採計校系列表](https://apcs.csie.ntnu.edu.tw/index.php/apcs-introduction/gradeschool/)

檢測日期：2021/06/05
報名/異動期間：2021/04/01~2021/04/16
查詢應測試場：2021/05/24
開放成績查詢：2021/06/21
成績複查期間：2021/06/21~2021/06/27

### 邁向 IOI 系列

![](https://lh6.googleusercontent.com/3P9qA3jMAzIdslSkqN5vIktXSZ0VGBmIRlqa0lhrDWhK7YtknQoLbFPhmFpLpRCwepXB2sRNmEKOk4j9GNxnyMOH-liPQh51Bb8oTl3pxAzgwsQVuHeGhLI3_a4o=w717)

1. 校內賽 (參考學校公告)
2. 北市賽 (北區各校選拔)
3. [資訊學科能力競賽決賽](http://nhspc.csie.ntnu.edu.tw/)
4. [TOI 台灣國際資訊奧林匹亞](https://toi.csie.ntnu.edu.tw/)
5. [IOI 國際資訊奧林匹亞競賽](https://zh.wikipedia.org/zh-tw/%E5%9B%BD%E9%99%85%E4%BF%A1%E6%81%AF%E5%AD%A6%E5%A5%A5%E6%9E%97%E5%8C%B9%E5%85%8B%E7%AB%9E%E8%B5%9B)

[資訊學科能力競賽決賽模擬賽](https://nhspc.cc/)

競賽日程
即日起開放報名
11/30（一）晚上 11:59 報名截止
12/05（六）晚上前寄送比賽通知
12/06（日）參賽者系統測試
12/12（六）模擬賽

### [TOI 推廣計畫](https://toi-reg.csie.ntnu.edu.tw/index.php)

:::info
指導老師：林思辰
:::

<!-- https://forms.gle/u5j5CNfddGVMxodu6 -->

#### 線上練習賽

1. 各校資訊教師請先行進行「教師註冊」，學生報名時，選擇學校後會自動帶出可選的指導老師名單。

2. 欲參與練習賽的學生，請進行「學生報名」。系統將寄送當次練習賽的一次性帳號，給表單所填寫的信箱。報名時可參考歷屆試題難度，選擇「新手組」或 「潛力組」。

3. 線上練習賽每年舉辦 6 次，於 3、4、5、10、11、12 月最後一週星期一 08:00 至星期五 20:00 舉辦。

學生可於系統開放期間登入並開始競賽，競賽時間 90 分鐘。

4. 考試範圍：

**新手組**

上下學期各三場 :

- 3月/10月：輸出入、選擇、迴圈
- 4月/11月：一維陣列、搜尋
- 5月/12月：多維陣列、字串

**潛力組**

以下範圍為主 :

-  排序、貪心
-  堆疊、佇列、樹
-  DFS、BFS、D&C
-  基礎DP

5\. 開放程式語言種類：C、C++

#### 成就

1. 「新手組」個人分數累加達 600分者，頒發新手組練習成果證書。累加達 900 分或累加達600分且至少一次練習賽得到滿分(300分)者，建議晉級至「潛力組」。

2. 「潛力組」個人分數累加達 600 分者，頒發潛力組練習成果證書。

### [NPSC 網際網路程式設計全國大賽](https://contest.cc.ntu.edu.tw/)

報名期間：2020年10月1日~2020年10月31日

SSL VPN 連線測試
11/10 (二) 14:00 ~ 11/12 (四) 17:00
SSL VPN 及 Kattis 說明文件、工具下載

模擬測試	
日期︰11月14日
時間︰10:00 - 12:00
時間︰14:00 - 16:00

初賽 高中組
日期︰11月21日
時間︰10:00 - 14:00

決賽 高中組
日期︰12月5日

### [ITSA 線上程式設計競賽](https://sites.google.com/site/itsancku/)

ITSA 線上程式設計競賽原則上於每兩個月一次，以透過網路的方式進行。ITSA每隊一人，全國學生皆可參賽。詳細比賽日期時間與辦法可參見訊息發布網頁: https://sites.google.com/site/itsancku/home 或臉書粉絲頁: https://www.facebook.com/itsancku?fref=nf

### [國際運算思維挑戰賽](http://bebras.csie.ntnu.edu.tw/)

2020年國際運算思維挑戰賽即將展開，挑戰賽重要日程如下：

報名期間：9月28日至10月23日（同時開放新加入教師註冊；教師登入後，點選「管理班級」即可為班級學生報名）
練習時間：11月2日至11月6日（已報名學生可登入練習）
挑戰期間：11月9日至11月20日（教師可於報名時，選擇挑戰期間內的一節課實施)

成績與參與證明公佈時間：12月23日

### [資訊月資訊應用技能競賽](https://www.infomonth.com/index.aspx)

#### 競賽組別

| 項次 | 競賽組別                                 | 證照                                                                                              |
|:---- |:---------------------------------------- |:------------------------------------------------------------------------------------------------- |
| 1    | Python 程式語言組 (Python 3)             | 不需證照                                                                                          |
| 2    | 創意 App 程式設計組 (App Inventor 2)     | 不需證照                                                                                          |
| 3    | 視傳設計技術應用組 (Illustrator CC 22.1) | 不需證照                                                                                          |
| 4    | 商業數據分析組 (Excel 2016)              | 不需證照                                                                                          |
| 5    | 商用專業編輯組 (Word2016)                | 需證照，TQC 文書處理或商務軟體應用能力 Word 2007/2010/2013/2016 Microsoft Office 2016/2019        |
| 6    | 商用簡報技巧組 (Power Point2016)         | 需證照，TQC 電腦簡報或商務軟體應用能力 Power Point 2007/2010/2013/2016 Microsoft Office 2016/2019 |
| 7    | 會計資訊與財務分析組 (IFRS 第二版)       | 需證照，TQC 電腦會計/電腦會計 IFRS                                                                |

#### 競賽時程

| 項次 | 活動項目 | 時間 |
| --- | --- | --- |
| 1 | 報名時間 | 9月3日（四）~9月22日（二） |
| 2 | 公告全國競賽須知（競賽地點、場次、座位表） | 10月12日（一） |
| 3 | 全國競賽時間 | 10月24日（六） |
| 4 | 得獎名單公佈 | 11月13日（五） |

### 國外競賽

- [Google's Coding Competitions](https://codingcompetitions.withgoogle.com/)
- [Codeforces](https://codeforces.com/)
- [LeetCode](https://leetcode.com/)

## 各種資源

### [資訊之芽](https://sprout.tw/)

#### 資訊之芽是什麼東西？

資訊之芽是一個資訊領域的推廣計畫，透過提供正規教育與補習班以外的課程，讓更多對資訊領域有潛在 / 明顯興趣的同學能夠有機會和資訊來場相親！

#### 資訊之芽提供什麼課程？

目前我們提供的有教授...

1.  基礎 C 語言的「C 語法班」
2.  基礎 Python 語言的「Python 語法班」
3.  解題方法的「算法班」(須具備 C/C++ 語法基礎才能報名)

### 題庫與學習資源

#### APCS 學習資源

- [官方學習資源](https://apcs.csie.ntnu.edu.tw/index.php/questionstypes/websites/)
- [APCS325 Online Judge](https://judge.tcirc.tw/Problems?tabid=AP325#tab03)
- [ZeroJudge APCS 題目](https://zerojudge.tw/Problems?tag=APCS)
- [APCS 大學程式設計先修檢測討論社群](https://www.facebook.com/groups/taiwan.apcs/)
- [YUI HUANG 演算法學習筆記](https://yuihuang.com/apcs/)
- [E-tutor: APCS 課程](https://e-tutor.itsa.org.tw/e-Tutor/course/category.php?id=787)

#### APCS 題目解答筆記

**[演算法海牛大神解答](https://github.com/algo-seacow/Competitive-Programming/tree/master/apcs)**

Google 搜尋小技巧

```
APCS site:hackmd.io
```

- https://hackmd.io/@wiwiho/HJwOGYb5r
- https://hackmd.io/@joylintp/APCS20200105
- https://hackmd.io/@emanlaicepsa/APCS202007
- https://hackmd.io/@cthbst/APCS_10910
- https://hackmd.io/@cthbst/APCS11001

#### 其他學習資源

- [演算法筆記](https://web.ntnu.edu.tw/~algo/)
- [CCSC@CYSH](http://cs.cysh.cy.edu.tw/)
- [台北市資訊能力競賽題庫](https://sites.google.com/site/hlfgongzuoshi/)
- [高中資訊學科能力競賽歷屆試題](https://hackmd.io/@cube/HyxueFBi4)

#### C++ 參考資料

- https://www.cplusplus.com/reference/
- https://en.cppreference.com/w/