## 1. 入門問題 Introductory Problems * [【CSES】1071. Number Spiral](https://hackmd.io/@Mo-Yu/CSES_1071) * [【CSES】1072. Two Knights](https://hackmd.io/@Mo-Yu/CSES_1072) * [【CSES】1617. Bit Strings](https://hackmd.io/@Mo-Yu/CSES_1617) * [【CSES】1618. Trailing Zeros](https://hackmd.io/@Mo-Yu/CSES_1618) * [【CSES】1754. Coin Piles](https://hackmd.io/@Mo-Yu/CSES_1754) * [【CSES】1755. Palindrome Reorder](https://hackmd.io/@Mo-Yu/CSES_1755) * [【CSES】2205. Gray Code](https://hackmd.io/@Mo-Yu/CSES_2205) ### 1-1. 快速冪 Exponentiation by Squaring * [【TOJ】36. Simple Problem](https://hackmd.io/@Mo-Yu/TOJ_36) ### 1-2. 字串哈希 String Hash * [【CSES】1753. String Matching](https://hackmd.io/@Mo-Yu/CSES_1753) ## 2. 排序演算法 Sorting Algorithm ### 2-1. 拓樸排序 Topological Sort * [【ZeroJudge】 k734. Open Treasure Box](https://hackmd.io/@Mo-Yu/ZJ_k734) ## 3. 二分搜 Binary Search * [【CSES】1091. Concert Tickets](https://hackmd.io/@Mo-Yu/CSES_1091) ### 3-1. 對答案二分搜 Binary Search through Answers * [【CSES】1085. Array Division](https://hackmd.io/@Mo-Yu/CSES_1085) ## 4. 枚舉 Enumerate * [【UVa】195. Anagram](https://hackmd.io/@Mo-Yu/UVa_195) * [【UVa】291. The House Of Santa Claus](https://hackmd.io/@Mo-Yu/UVa_291) * [【UVa】441. Lotto](https://hackmd.io/@Mo-Yu/UVa_441) * [【CSES】1622. Creating Strings](https://hackmd.io/@Mo-Yu/CSES_1622) * [【CSES】1623. Apple Division](https://hackmd.io/@Mo-Yu/CSES_1623) * [【CSES】1624. Chessboard and Queens](https://hackmd.io/@Mo-Yu/CSES_1624) * [【AtCoder】Hanjo](https://hackmd.io/@Mo-Yu/AtCoder_Beginner196_D) * [【AtCoder】Handstand 2](https://hackmd.io/@Mo-Yu/AtCoder_Beginner152_D) * [【AtCoder】Patisserie ABC](https://hackmd.io/@Mo-Yu/AtCoder_Beginner100_D) * [【AtCoder】Synthetic Kadomatsu](https://hackmd.io/@Mo-Yu/AtCoder_Beginner100_C) * [【AtCoder】Encyclopedia of Parentheses](https://hackmd.io/@Mo-Yu/AtCoder_Typical90_002) * [【ZeroJudge】e446. Arrangement Generation](https://hackmd.io/@Mo-Yu/ZJ_e446) ### 4-1. 隱式圖枚舉 Implicit Graph Enumerate * [【CSES】1670. Swap Game](https://hackmd.io/@Mo-Yu/CSES_1670) * [【TIOJ】1198. 8-Puzzle](https://hackmd.io/@Mo-Yu/TIOJ_1198) ### 4-2. 根號枚舉 Root Enumeration * [【MDJG】B053. Go Alone](https://hackmd.io/@Mo-Yu/MDJG_B053) ### 4-3. 折半枚舉 Half Enumeration * [【CF】A. Fivesteps](https://hackmd.io/@Mo-Yu/CF_MD_Simulation_Contest_1_A_Fivesteps) * [【CSES】1628. Meet in the Middle](https://hackmd.io/@Mo-Yu/CSES_1628) ## 5. 動態規劃 Dynamic Programming * [【CSES】1634. Minimizing Coins](https://hackmd.io/@Mo-Yu/CSES_1634) * [【CSES】1635. Coin Combinations I](https://hackmd.io/@Mo-Yu/CSES_1635) ## 6. 貪心 Greedy * [【CSES】1090. Ferris Wheel](https://hackmd.io/@Mo-Yu/CSES_1090) * [【CSES】1092. Two Sets](https://hackmd.io/@Mo-Yu/CSES_1092) * [【CSES】1161. Stick Divisions](https://hackmd.io/@Mo-Yu/CSES_1161) * [【CSES】1630. Tasks and Deadlines](https://hackmd.io/@Mo-Yu/CSES_1630) * [【AtCoder】Contrast](https://hackmd.io/@Mo-Yu/AtCoder_Beginner178_F) ## 7. 圖論 Graph Theory ### 7-1. 廣度優先算法 Breadth-First Search #### 7-1-1. 雙端隊列 BFS 01BFS * [【CF】B. Conveyor](https://hackmd.io/@Mo-Yu/CF_MD_Simulation_Contest_1_B_Conveyor) ### 7-2. 深度優先算法 Depth-First Search ### 7-3. 最短路徑快速演算法 Dijkstra Algorithm * [【Luogu】P1396. Rescue](https://hackmd.io/@Mo-Yu/Luogu_P1396) * [【CSES】1671. Shortest Routes I](https://hackmd.io/@Mo-Yu/CSES_1671) * [【CSES】1195. Flight Discount](https://hackmd.io/@Mo-Yu/CSES_1195) * [【CSES】1202. Investigation](https://hackmd.io/@Mo-Yu/CSES_1202) ### 7-4. 弗洛伊德演算法 Floyd-Warshall Algorithm * [【CSES】1672. Shortest Routes II](https://hackmd.io/@Mo-Yu/CSES_1672) ### 7-5. 貝爾曼福特演算法 Bellman-Ford Algorithm * [【CSES】1673. High Score](https://hackmd.io/@Mo-Yu/CSES_1673) ### 7-6. 並查集 Disjoint Set Union-Find Algorithm * [【TCIRC】d097. Pit Jumping](https://hackmd.io/@Mo-Yu/TCIRC_d097) ## 8. 樹論 Tree Theory ### 8-1. 最低共同祖先 Lowest Common Ancestor * [【CSES】1687. Company Queries I](https://hackmd.io/@Mo-Yu/CSES_1687) * [【CSES】1688. Company Queries II](https://hackmd.io/@Mo-Yu/CSES_1688) ### 8-2. 樹壓平 Tree Flattening * [【CSES】1137. Subtree Queries](https://hackmd.io/@Mo-Yu/CSES_1137) ### 8-3. 樹直徑 Tree Diameter * [【CSES】1131. Tree Diameter](https://hackmd.io/@Mo-Yu/CSES_1131) ## 9. 資料結構 Data Structure ### 9-1. 線段樹 Segment Tree * [【CSES】1143. Hotel Queries](https://hackmd.io/@Mo-Yu/CSES_1143) * [【CSES】1190. Subarray Sum Queries](https://hackmd.io/@Mo-Yu/CSES_1190) * [【CSES】1649. Dynamic Range Minimum Queries](https://hackmd.io/@Mo-Yu/CSES_1649) * [【CSES】1650. Range Xor Queries](https://hackmd.io/@Mo-Yu/CSES_1650) ### 9-2. 樹狀樹組 Binary Indexed Tree * [【CSES】1137. Subtree Queries](https://hackmd.io/@Mo-Yu/CSES_1137) ## 10. 其他重要應用 Application ### 10-1. 掃描線 Scaning Line * [【TIOJ】1224. Rectangular Coverage Area](https://hackmd.io/@Mo-Yu/TIOJ_1224)