--- title: 師大附中/延平中學 競技程式讀書會 --- # 師大附中/延平中學 競技程式讀書會 粉絲專頁:[師大附中/延平中學 競技程式讀書會](https://www.facebook.com/hsnu.yphs.cp/) ## 活動簡介 最近幾年,資訊相關科系成為了熱門科系,也越來越多人參加 [APCS](https://apcs.csie.ntnu.edu.tw/) 和各種資訊競賽。在高中,最主流的資訊競賽是演算法競賽,或者叫競技程式。 資訊作為一個非主科的科目,相對於數學、地科等等科目,資源少了很多,也比較難以入門。因此,附中和延平的一些有經驗的競賽選手自發舉辦了這個讀書會,旨在提供長期、完整的競賽課程,讓每個人都有機會接受良好的競賽指導,並且促進選手之間的交流,提升兩校的競賽風氣。 ## 活動內容 讀書會的活動以上課為主,預計從 111 學年度上學期開學後開始上課,時間暫定為每週四 18:30 至 21:30,段考前一週停課。上學期會教基本的競賽知識,下學期則是較進階的技巧,且上下學期的期中、期末會各有一次模擬競賽。 課程全部採用線上教學,我們使用 Discord 作為上課及聯絡的平台,所有重要訊息都會在 Discord 通知,並且可以在 Discord 互相討論或詢問問題。 我們以 C++ 為主要的語言,並且課程內容不包含基礎語法,因此學員需要先自行學習,需要先學會的事項大致上有: * 變數 * 運算 * 條件判斷 * 迴圈 * 陣列 如果你不太確定你是否已經學會以上所有東西,可以做做看下方題目練習中的「入門」題目。如果有遇到任何困難,也可以先報名後進入群組詢問。 以下是預計會教的主題: * 複雜度分析 * 資料結構 * 排序與搜尋 * 枚舉 * Greedy * 分治 * 動態規劃 * 圖論 * 數學 * 字串 * 其他常見的競賽技巧 正式課表會待開學後公布。 ## 報名方式 報名表單:https://forms.gle/2iGPUwzTDsNPzkxu9 我們目前只開放附中和延平的學生報名,報名後,報名成功通知會寄到你填寫的信箱,因此請務必填寫有在使用的信箱。寄信是手動作業,所以你不會立刻收到通知。通知信當中會有 Discord 群組邀請連結與簡易的 Discord 使用說明,其餘的資訊皆在群組中公告。 新生如果想在分班結果出爐之前報名,可以在班級與學號欄位填上「新生」,升高二可以填原班級。 有任何問題請私訊粉絲專頁。 ## 工作人員 ### 洪筱筑 * 總召、講師 * 師大附中 * 附中暑期資訊培訓講師 ### 鄭宇宏 * 講師 * 師大附中 * 2021 臺北市資訊學科能力競賽 佳作 * 2022 臺灣資訊奧林匹亞第一階段 * 附中暑期資訊培訓講師 ### 林宸宇 * 講師 * 師大附中 * 附中暑期資訊培訓講師 * APCS 5/4 ### 王開育 * 講師 * 延平中學 * 2021 臺北市資訊學科能力競賽 佳作 * APCS 5/5 ### 張亦頡 * 講師 * 師大附中 * 2021 臺北市資訊學科能力競賽 三等獎 * 附中暑期資訊培訓講師 * APCS 5/5 ### 黃致皓 * 講師 * 師大附中 → 交大資工 * 2020 臺北市資訊學科能力競賽 佳作 * 2021 臺北市資訊學科能力競賽 三等獎 * 2021 資訊之芽算法班優秀結業 * 附中暑期資訊培訓講師 * APCS 5/5 ### 李政遠 * 講師 * 薇閣中學 → UMD CS * 2020 臺北市資訊學科能力競賽 佳作 * 2021 臺北市資訊學科能力競賽 三等獎 * 2021 資訊之芽算法班優秀結業 * APCS 5/5 ### 陳柏凱 * 講師 * 建國中學 * 2021 臺北市資訊學科能力競賽 佳作 * 2022 臺灣資訊奧林匹亞第一階段 ### 隱藏版沃特美倫講師 >///< * she won 2022 IOI gold > < ## 常見問題 ### 什麼是競技程式? 競技程式(Competitive Programming),簡稱競程,是資訊競賽的其中一種,可以想成是「用程式解決數學問題」,並且會限制程式的執行時間和記憶體使用量,考驗選手用演算法解決問題的能力。 ### 在高中階段,有哪些比賽可以比? 高中的主要競賽分成在上學期舉辦的資訊學科能力競賽和下學期舉辦的資訊奧林匹亞,除了上述的主要比賽外,也有很多非官方舉辦的比賽,例如 [NPSC](https://contest.cc.ntu.edu.tw/npsc2021/)、[ISSC](https://www.facebook.com/groups/198765057476314)、[YTP](https://www.tw-ytp.com/)、[HP Codewars](https://www.facebook.com/codewars.taiwan/) 等等。 除了比賽之外,也有檢定例如 [APCS](https://apcs.csie.ntnu.edu.tw/)。 ### 打競程可以幹嘛? 競程是一個重視思考的活動,除了可以提升演算法方面的能力外,邏輯思考與數學的能力也會有所提升。競程在升學也很有幫助,除了各種比賽都可以放在學習歷程中,甚至可以透過競賽獲得推薦保送的資格([參加國際數理學科奧林匹亞競賽及國際科學展覽成績優良學生升學優待辦法](https://law.moj.gov.tw/LawClass/LawAll.aspx?pcode=H0060021))。 ### 國中生可以參加嗎? 只要是附中或延平國中部的學生是可以參加的。 ~~條件是你高中也要繼續讀延平或附中~~ ### 這個讀書會有參加證明嗎? 沒有。 ## 學習資源 ### C++ 基礎教學 * [C++ 與演算法](https://www.csie.ntu.edu.tw/~b98902112/cpp_and_algo/) * [W3Schools C++](https://www.w3schools.com/CPP/default.asp) ### 演算法 * [AP325](https://www.facebook.com/groups/359446638362710) * [板橋高中資訊培訓](https://sites.google.com/site/pcshic/zi-xun-pei-xun) * [USACO Guide](https://usaco.guide/) * [CP-Algorithms](https://cp-algorithms.com/) * [WiwiHo 的競程筆記](https://cp.wiwiho.me/) * 《算法艺术与信息学竞赛:算法竞赛入门经典(第2版)》劉汝佳著 ### 練習網站 * [CSES](https://cses.fi/problemset/) * [TIOJ](https://tioj.ck.tp.edu.tw/) * [AtCoder](https://atcoder.jp/) * [ZeroJudge](https://zerojudge.tw/) * [Codeforces](https://codeforces.com/) ## 題目練習 這裡的題目給你試試看自己的能力到哪裡 ### 入門 只需要 C++ 基礎語法,不需要會任何演算法知識就可做出的題目 * [ZeroJudge a001 哈囉](https://zerojudge.tw/ShowProblem?problemid=a001) * [ZeroJudge a004 文文的求婚](https://zerojudge.tw/ShowProblem?problemid=a004) * [ZeroJudge a022 迴文](https://zerojudge.tw/ShowProblem?problemid=a022) * [ZeroJudge a058 MOD3](https://zerojudge.tw/ShowProblem?problemid=a058) * [ZeroJudge a040 阿姆斯壯數](https://zerojudge.tw/ShowProblem?problemid=a040) * [ZeroJudge a015 矩陣的翻轉](https://zerojudge.tw/ShowProblem?problemid=a015) ### 基礎 只要會簡單的演算法並稍加思考就可做出的題目 * [ZeroJudge b127 會議中心(Room)](https://zerojudge.tw/ShowProblem?problemid=b127) * [AtCoder ABC 189C Mandarin Orange](https://atcoder.jp/contests/abc189/tasks/abc189_c) * [AtCoder ABC 186D Sum of difference ](https://atcoder.jp/contests/abc186/tasks/abc186_d) * [Codeforces 1430B Barrels](https://codeforces.com/problemset/problem/1430/B) * [ZeroJudge b965/APCS 160305 p2 矩陣轉換](https://zerojudge.tw/ShowProblem?problemid=b965) * [CSES Number Spiral](https://cses.fi/problemset/task/1071) * [CSES Chessboard and Queens](https://cses.fi/problemset/task/1624) ### 中等 需要較多演算法知識且需要思考的題目 * [TIOJ 1072 誰先晚餐](https://tioj.ck.tp.edu.tw/problems/1072) * [TIOJ 1080 逆序數對](https://tioj.ck.tp.edu.tw/problems/1080) * [ZeroJudge b967/APCS 160305 p4 血緣關係](https://zerojudge.tw/ShowProblem?problemid=b967) * [Codeforces Round 1623C Balanced Stone Heaps](https://codeforces.com/contest/1623/problem/C) * [ZeroJudge c575/APCS 170304 p4 基地台](https://zerojudge.tw/ShowProblem?problemid=c575) * [CodeForces 1594D The Number of Imposters](https://codeforces.com/problemset/problem/1594/D) * [CodeForces 1313C1 Skyscrapers (easy version)](https://codeforces.com/problemset/problem/1313/C1) ### 進階 如果你會寫這裡的題目,你可以來當助教了 * [Codeforces 1203F1 Complete the Projects (easy version)](https://codeforces.com/problemset/problem/1203/F1) * [Codeforces 1499D The Number of Pairs](https://codeforces.com/contest/1499/problem/D) * [AtCoder Educational DP Contest V - Subtree](https://atcoder.jp/contests/dp/tasks/dp_v) * [Codeforces 1101D GCD Counting](https://codeforces.com/problemset/problem/1101/D) * [TIOJ 1169 氣球博覽會](https://tioj.ck.tp.edu.tw/problems/1169) * [CSES 1737 Range Queries and Copies](https://cses.fi/problemset/task/1737) * [CSES Distinct Colors](https://cses.fi/problemset/task/1139) ### 超進階 如果你會寫這裡的題目,你可以來當講師了 * [TIOJ 1171 我要成為海賊王](https://tioj.ck.tp.edu.tw/problems/1171) * [TIOJ 1676 烏龜疊疊樂](https://tioj.ck.tp.edu.tw/problems/1676) * [TIOJ 1872 最小公倍數](https://tioj.ck.tp.edu.tw/problems/1872) * [TIOJ 1986 郵局設置問題 $\infty$ EXTREME](https://tioj.ck.tp.edu.tw/problems/1986) * [TIOJ 2174 序列操作問題](https://tioj.ck.tp.edu.tw/problems/2174) * [Codeforces 1254D Tree Queries](https://codeforces.com/problemset/problem/1254/D) * [Codeforces 1442C Graph Transpositions](https://codeforces.com/problemset/problem/1442/C) * [CS Academy And or Max](https://csacademy.com/contest/archive/task/and-or-max/) * [CS Academy Interval Expected Max](https://csacademy.com/contest/archive/task/interval-expected-max)