# SA 流 C++ 競程修練心法
- [封面](/@sa072686/BkTJ0imPB)
## 序章:導論與前置準備 [close]
* [關於本章節](/@sa072686/rJKDRo7wB)
* ## 基本介紹
* [為什麼要學程式](/@sa072686/rk_3XSzur)
* [為什麼從競程入門](/@sa072686/rJap7SM_r)
* [為什麼選擇 C++](/@sa072686/rJ65is7OS)
* ## 學習建議
* [如何學會寫程式](/@sa072686/rJ7dSaidr)
* ## 其他資訊
* [關於升學或求職的資訊](/@sa072686/rJ05YiGOB)
## 初章:C++ 語法基礎 [close]
* [關於本章節](/@sa072686/rJpY0i7PS)
* ## 第一節:命令的接收與成果回報
* [用來寫 C++ 程式的軟體](/@sa072686/S1HzM0zbm)
* [第一個 C++ 程式](/@sa072686/HyypNHG_r)
* [體驗 AC 的愉悅](/@sa072686/S1KdtRMsL)
* [一行的結束 End Of Line](/@sa072686/ry5LBOEjO)
* [整數的輸入與輸出](/@sa072686/SJBUSSfuS)
* [更多變數、更多輸入](/@sa072686/rJNu0RdOr)
* [註解](/@sa072686/ryd0DrMuB)
* [補充:C++ 骨幹的解說](/@sa072686/H1vnVRXOr)
* [補充:換行與跳脫字元](/@sa072686/H1_G9sqiL)
* ## 第二節:資料的記憶與計算
* [算術運算子](/@sa072686/rypmLHfuS)
* [變數的賦值](/@sa072686/Sk_fIrz_S)
* [四則運算的基本應用](/@sa072686/SygHIHMdS)
* [變數上限與溢位](/@sa072686/B1tr_OtOS)
* [變數與運算綜合挑戰](/@sa072686/r1Zm1Q9YH)
* [精選題解](/@sa072686/r1YYVdEsd)
* ## 第三節:依不同狀況判斷該做哪件事(施工中)
* [條件分歧](/@sa072686/rJotUBfuS)
* [比較運算子](/@sa072686/SJP58SzOS)
* [不滿足條件時](/@sa072686/B1BUDBMur)
* [邏輯運算子](/@sa072686/HkfY_rMur)
* [多選一的並列條件](/@sa072686/r1IT_HG_H)
* [if 常見的應用例](/@sa072686/rJJchSIlB)
* [複雜條件的應對技巧](/@sa072686/B1seP12KH)
* [條件分歧綜合挑戰](/@sa072686/HJTmJm5YH)
* ## 第四節:反覆執行至完成為止
* [while 迴圈](/@sa072686/BJi0dSzdr)
* [for 迴圈](/@sa072686/SJ9JKBMdS)
* [迴圈中的流程改變](/@sa072686/r1GbQuFdH)
* [迴圈綜合挑戰](/@sa072686/r1PDkwR9B)
* ## 第五節:OJ 介紹與落差補完
* [線上評測系統簡介](/MyZ4LGUuSteFAZhP-5zzzw)
* [常見 OJ 簡介](/ucIjLY2LSVO20wQ4e2pZtQ)
* [落差與常識的補完](/d3SqPTvcQryUhvnQfOP-Nw)
* [UVa OJ 實際練習](/PIJDqaTfQ22Dl_wEoVp4fQ)
* ## 第六節:反覆執行「需要反覆執行的事」
* [巢狀迴圈的思考方式](/kb8nRe__SruVrbsGHlPeEA)
* [更複雜的巢狀迴圈](/kRRbRT7LT06do68Qd8cm-g)
* [巢狀迴圈綜合練習](/XKLngFtgQHyYWCc-tC8QzQ)
* ## 第七節:大量資料的記憶與存取
* [陣列的基本](/YTiYMA8zT9uCObxzri_11Q)
* [陣列的更多細節](/3bswkP4FRa-kE2S2ua7fcA)
* [陣列與記憶體相關](/AT_Yya-iSNeMRSFIpW29gQ)
* [陣列的衍生應用](/p9Y-PTzWRZyqknDq3oPeGQ)
* [陣列綜合挑戰](/aCmrox62TyKBuGzqdZ0e6g)
* ## 第八節:文字的記憶與存取
* [字元與編碼](/J19kVwRwQoeBaMvoqnoa7Q)
* [字串與輸入](/qeOFNdrUTmChPhGsJ_joMg)
* [字串的更多細節](/7Qg7NOL3RIuD6Qd1e-oZNA)
* [ASCII 延伸應用](/nWrarntgQBCWg2ucx2kEpQ)
* [字元字串綜合練習](/RCDOBMTWQNm_nw2KBk96zw)
* ## 第九章:二維或更高維度的資料
* [二維陣列](/faPENjvdTS6YIk1cYc4FkQ)
* [二維陣列綜合練習](/fHNLWInOSf6HQ3IPYKxj8A)
* ## 第十節:整數以外的數字
* [浮點數](/cjVyz0uMRhyHwRfkLBlmAw)
* [浮點數誤差與應對](/cZfev35MRp-nFy_YII9wfg)
* [常見數學函式](/m3yiqkAZSPiG8vQtWHFfcQ)
* ## 第十一節:將命令打包成函數
* [自定義函數](/jjoP_ZAXSzejCtE0U-EOqg)
* [變數的生命週期](/yEWLIrDcRKuphaFbNUWLyQ)
* [常見函數](/7aVfN4hnQv-tdDBAJdtLeA)
* ## 第十二節:複雜 IO 如何處理(預定)
* [深入 iomanip](/91DlTkOhQlSTCNCRrX2FXQ)
* [深入 scanf/printf](/IAVuFd4wRD2rvaYtuSQltA)
* [善用 sstream](/NX46vl9lSN2bCABECaoVEg)
* [善用 sscanf/sprintf](/yzrZIKNlQFKX7PKXYB9WJg)
* ## 第十三節:暴力與窮舉的妙用(預定)
* ## 第十四節:模擬與反向回溯(預定)
* ## 第十五節:結構(預定)
* [結構](/@sa072686/HJvKmpidS)
* ## 第十六節:各種競賽應對(預定)
```
## 初章後半:實作秘訣與思考技巧(未完) [close]
* [關於本章節](/@sa072686/BJh9q50lB)
* ## 實作加速的秘訣(未完)
* [了解解題的步驟](/@sa072686/SJh_8WVS8)
* [流程規劃與分段測試](/@sa072686/r1Bxfyir7)
* 除錯心得與常見錯誤(未完)
* ## 解題策略與訓練心法(未完)
* [競賽策略與鍛煉方向](/@sa072686/rke70TNtX)
* 提問的藝術(未完)
* ## 如何思考問題(未完)
* 問題的公式化與轉換(未完)
* 模擬與狀態(未完)
* 暴力法與窮舉(未完)
* ## APCS 觀念題與實作環境落差(未完)
* 語法補完(未完)
* 觀念題的技巧(未完)
* 實作環境的落差補完(未完)
* [閒談:如何複製測試資料並貼上(工事中)](/v2mcts7xQEe6LHFIW92B3Q)
```
## 二章前半:資料結構與演算法入門 [close]
* [關於本章節](/nJ-DaFraT7eKiXLDSpsk4g)
* ## 第一節:複雜度分析
* [如何分析程式效能:複雜度](/DI86xDw0T0uvqhXwLCHkAw)
* ## 第二節:暴力與窮舉
* [萬能的暴力法](/a-xt96VKTAqBmzpmXjkU_Q)
* [更聰明的暴力法](/w0fSb1suRR-VkY8g7toisg)
* [暴力法綜合挑戰](/1hG6iEwmTZif5bAMiFwfKw)
* ## 第三節:基礎數論
* [進位制換算與應用](/4uO2GyfGTi2a4vP0rUtZXA)
* [餘數與循環](/UDa8rLAPTOqv-FZ_KwlVgQ)
* [基礎數論綜合挑戰](/6fvdrf_gR86-e6wYtXW1FQ)
* ## 第四節:程式實作技巧與除錯
* [程式基本原理](/18aJIgTtSxiZ4K7vLmlyHw)
* [程式實作技巧](/hVOpyFhuTG6-ivd2vWtTSA)
* [除錯相關技巧](/fmJHEIwIR0q9ms7kM-DjOQ)
* [預處理與建表](/xpr611VXTkiwVAjCAR9CJw)
* ## 第五節:基本資料結構
* [資料結構概念](/ZIqOdqYISACJ1PAvC8V4lg)
* [佇列](/9Sf4WHn9TeOWhzqH35JDFw)
* [堆疊](/BIdqnOQCTguHQbOtATdjRA)
* [鏈結串列](/@sa072686/B1X5LM608)
* [資料結構綜合挑戰](/UZ0WfWxDTLGqEluR3DJKfg)
* ## 第六節:遞迴
* [遞迴](/FRgcCDGCQG-ECiVj7tWSgw)
* [重疊的子問題](/adzZEq5HQkyMDinvs0fC3Q)
* [更多遞迴](/BbRsMnLrQFuCeLifVxecJA)
* [遞迴綜合挑戰](/WSXwj7tLTO6_xiQej2Sa7A)
* ## 第七節:排序
* [演算法的概念](/Fn3W3iT9TQW_5x00Q11oUA)
* [排序的基本](/fS7erjD_Q3ekLPbzzxSWRg)
* [更快的排序](/oj2gvDtjT0mfKJVhlmJeng)
* [排序的性質與應用](/ys2z9BntSh-_6mZTIPNy1Q)
* [內建 sort 與比較函式](/@sa072686/B1Zg7tI5U)
* [排序的穩定與不穩定](/@sa072686/B1pH-OqWH)
* [排序綜合挑戰](/LTbbYJJuR8Cda0dWNVTHWg)
* ## 第八節:二分搜尋
* [二分搜尋](/UEA2CFbIRqGvA_c9yaCP6Q)
* [最接近的極值](/4uxpSAaYR3GXHG5SA6BFfQ)
* [廣義的二分搜尋](/9WpDfmqfQseeZ81T6lUApw)
* [二分搜尋綜合挑戰](/pRRsJkMNTCmPcnGzN0mMsA)
## 二章後半:經典技巧示範(未完) [close]
* [單調性](/@sa072686/H16IPaj_S)
* [單調佇列](/@sa072686/HJrpuTZjQ)
* [差分與離散化](/@sa072686/SJOpSpoOH)
* [逆向求解](/@sa072686/B1uGJKKcm)
## 間章:經典問題之一 [close]
* ## 數論相關
* [質數、因數與篩法](/5Ckh62erR2ORs8RM4n2VIg)
* 線性篩法
* [最大公因數](/cdtl24aSSEC4FXPyl00uBg)
* 擴展歐基里得
* 乘法反元素
## 三章:資料結構與演算法 [close]
* [關於本章節](/wwKhm7xJRLu438aA0XybQQ)
* ## 第一節:深度優先搜尋
* [深度優先搜尋](/kPw0F65-SG6RD0BjXlSSdg)
* [中途結算和剪枝](/fUBKvPELTkC-TApNZpJRWg)
* [更多 DFS 例子](/gEMpcmHPRXmaGWVaKwIOQw)
* [DFS 綜合練習](/ka890UjuQUy5KsgBOALkLA)
* ## 第二節:廣度優先搜尋
* [廣度優先搜尋](/VXHUmlgOTPGNxV9FWbdukA)
* [狀態與狀態轉移](/TAq5eVuHRcSDlQqJB2hdgQ)
* [回溯解](/EdwpfRaTT-mefCftkNG2LA)
* [BFS 綜合練習](/8BLvAoWsQ1iuekhSXnPyvA)
* ## 第三節:位元運算
* [位元運算的基本](/NDvgPLWTTZG3inSybGJwoA)
* [位元運算應用與優化](/tiEnPYI2QZi2S61S-UyzDQ)
* [位元運算綜合練習](/MR4z06HIRAa0SuRj9GlJmw)
* ## 第四節:貪心與分治
* [分治法](/JRDnW1pvQCmZwknUr9ohKw)
* [貪心法](/NfpB6pPURXi11mNUEHFO4g)
* ## 第五節:動態規劃
* [動態規劃基本概念](/UbRtkZi2S3uF1k47c7px5Q)
* [動態規劃更多例題](/VfFRhrBRTi6ssUs0Jm3LAw)
* [動態規劃經典問題.其一](/tGJ36X3bSWWRY8ZGPGqKfg)
* [動態規劃經典問題.其二](/7CXQVp5uQHWWG69VtWQ6sQ)
* ## 第六節:樹狀資料結構
* [前置:可變長度陣列 vector](/kSRrndEPT5agDFWN2IMLGQ)
* [用語:在線與離線 online / offline](/@sa072686/H12QlpPcL)
* [樹的概念與實作](/knfrR-geRYKuCZNOviK3cw)
* [二元樹的走訪](/YLjDX3_ZT02j3a4eeme9jg)
* [disjoint set](/DUCRS-cXSoGv4JZfusM-IQ)
* [heap](/GTdCSUuiR56t0K7TxtlF7A)
* [二元搜尋樹](/@sa072686/Hy8lnZ5oU)
* ## 第七節:STL
* [STL 基礎概念](/@sa072686/S11uDpiuH)
* [有優先度的佇列 priority queue](/@sa072686/BJKTlLBHr)
* [求比 k 大的最小值 lower_bound/upper_bound](/@sa072686/Hk8wnUcWB)
* [字典與集合 map / set](/@sa072686/H1qI86oOr)
* [\<algorithm> 其它函數](/@sa072686/Hkuhzo58V)
* ## 第八節:基本圖論
* [圖論概念與實作](/@sa072686/SJoWKFtcm)
* [圖的連通與走訪](/@sa072686/SyceyXTDE)
* [最短路徑問題](/@sa072686/r1P_upsdH)
* [DAG 與拓璞順序](/@sa072686/Hybjt6suS)
* [圖論上的樹](/@sa072686/BJ_IFasdS)
* [最小生成樹](/@sa072686/HJbKLajdr)
* [圖論綜合挑戰](/@sa072686/S1pGQBSyD)
## 間章:經典問題之二(未完) [close]
* ## 經典問題(未完)
* 運算式中序轉後序(未完)
## 四章:進階課題(未完) [close]
* 關於本章節
* ## 第一節:進階搜尋
* ## 第二節:進階資料結構
* ## 第三節:進階圖論
* ## 第四節:進階動態規劃
* ## 第五節:計算幾何入門
* ## 待續
```
// 筆記:圖論
## 有向圖 Directed Graph
DAG
尤拉路徑 Euler Path/Circuit
強連通子圖 SCC
## Flow
Maximum Flow - Minimum Cut
Bipartite Matching
```
```
## 第六節:圖論演算法
[關節點與橋](/p0fDVCbxRVC8vGab1D-pXA)
[尤拉路徑](/rk1cMBWDSsCylzPUbYecGw)
[SCC](/QYsOufEZTYWFVEznxll3Jg)
## 第七節:字串相關
[字串匹配](/G3Qi4_zWT0awbBO15IZGuA)
## 第八節:基本計算幾何
[計算幾何基本概念](/G46uQsXuRXqSjwiGCWpAMQ)
[向量的外積與應用](/JC8TGrJcQ02jrVPeTXr5Yw)
[凸包](/Nqw5ALo-S4eYlo7Yw9ZvkQ)
```
```
## 以下不定期追加
[game](/uLUjnjLrTmmRmjleJ8RHMQ)
[字母樹](/Jr9QyMe_QyKPTTylXKZ-_Q)
[線段樹](/c_yYAwVsSd-gmnn-btEw1w)
[樹狀數組](/tTeZnYP6TNeOBbNwyVL2Xg)
筆記:treap, suffix array, 持久化 ..
[限深 DFS](/hDED4sdYS-eSaaXXkzp_9Q)
[雙向 BFS](/YTLLB_GgRBChe8wabER8ng)
[max-flow min-cut](/_gnh4hoxRVKG_Za1xH0U9w)
[二分圖匹配](/Zb4YNVHYRuiJqPXxI8hH7g)
[更多動態規劃](/DZe7WfZ1R2Gvlvb2sr8FZw)
筆記:AC自動機、rolling hash、樹鏈剖分、BCC...
[啟發式搜尋](/qUedCX_hTDKTGEc3M7jSIA)
```
## 外傳:各種零碎文章 [close]
* ## 小技巧
* [外傳:編輯器快捷鍵與打字技巧](/HlnaiP5cTqaHG8-XR8bohA)
* [外傳:關於 CP Editor 更多便利功能](/@sa072686/B1a8BpsdS)
* [外傳:APCS 環境下的測資複製貼上(轉載)](/@sa072686/HJSnnk773)
* ## 小知識
* [外傳:Stack Overflow](/tp__VIChTvaBdGRcKOi1UQ)
* ## 相關知識補完
* [外傳:矩陣相關知識補完](/wVhulqSJSG-9UjyArj4SbA)
* [外傳:亂數 Random Number](/O2slL_6BRRe_kueMypmCYQ)
* [外傳:時間 Chrono](/C4FPz6QsR0eoz9X5_2m7sQ)
* 外傳:大數 Big Number(未完)
* ## 關於指標 pointer
* [指標](/@sa072686/r1eqmao_r)
* [指標的運算](/@sa072686/ry6EIimE8)
* [更多指標](/@sa072686/H1UiQ6oOr)
* ## 延伸閱讀
* ## 舊文留存
* [介紹 Dev-CPP](/@sa072686/Bkyv4rfOB)
## 異界:各種外部連結 [close]
* ## 工具篇
* [**UVa 隨機挑選未解題**:追獵的鳥人女僕](https://sayaurobuchi.github.io/tsukaima/tnfsh/uhunt_random.html)
* ## 考古題篇
* [107 南區賽實作題](/@lys0829/SyyC9lm67)
{%hackmd @sa072686/__style %}
###### tags: `index`, `競程`
{"metaMigratedAt":"2023-06-14T19:19:44.868Z","metaMigratedFrom":"Content","title":"SA 流 C++ 競程修練心法","breaks":true,"description":"封面","contributors":"[{\"id\":\"3d6d533e-78a9-4c54-8f49-8272f6b6830c\",\"add\":24107,\"del\":15355}]"}