第一部分—语言篇
第一章(程序设计入门)和第二章(循环结构程序设计)
博文链接:算法竞赛入门经典(第2版)—第一章和第二章总结
总结了第一章和第二章的一些有用的知识点。
第三章(数组和字符串)
博文链接:算法竞赛入门经典(第2版)—第三章
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
340 - Master-Mind Hints | 模拟题目 | ✦✦✦✧✧ | ✦✦✦✧✧ | 英文题目,又长又难懂 |
1583 - Digit Generator | 打表/预处理 | ✦✦✧✧✧ | ✦✦✧✧✧ | 多种方法 |
1584 - Circular Sequence | 字典序 | ✦✦✧✧✧ | ✦✦✦✧✧ | |
455 - Periodic Strings | 水题 | ✦✧✧✧✧ | ✦✧✧✧✧ | |
227 - Puzzle | 模拟题 | ✦✦✦✧✧ | ✦✦✧✧✧ | 具体细节 |
232 - Crossword Answers | 模拟题 | ✦✦✦✧✧ | ✦✦✦✧✧ | 考虑的比较多,注意题意 |
1368 - DNA Consensus String | 脑洞 | ✦✦✧✧✧ | ✦✦✧✧✧ | 想法比实现重要 |
202 - Repeating Decimals | 模拟题 | ✦✦✦✧✧ | ✦✦✦✧✧ | 数组和string的使用 |
10340 - All in All | 水题 | ✦✧✧✧✧ | ✦✧✧✧✧ | |
1587 - Box | 脑洞 | ✦✦✧✧✧ | ✦✦✧✧✧ | 想法比实现重要 |
1588 - Kickdown | 模拟题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 重视伪代码的书写 |
11809 - Floating-Point Numbers | 打表/数学推导 | ✦✦✦✦✧ | ✦✦✧✧✧ | 大量推导,比较难 |
第四章(递归和函数)
博文链接:算法竞赛入门经典(第2版)—第四章
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
1339 - Ancient Cipher | 水题 | ✦✧✧✧✧ | ✦✧✧✧✧ | 思路转换 |
489 - Hangman Judge | 模拟题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 直接模拟,读懂题意 |
133 - The Dole Queue | 模拟题 | ✦✦✧✧✧ | ✦✦✦✧✧ | 双向约瑟夫 |
213 - Message Decoding | 模拟题 | ✦✦✦✧✧ | ✦✦✧✧✧ | 题意很难理解,输出格式控制 |
512 - Spreadsheet Tracking | 大模拟题 | ✦✦✦✦✧ | ✦✦✧✧✧ | 觉得规定时间内很难做出 |
1589 - Xiangqi | 大模拟题 | ✦✦✦✧✧ | ✦✦✦✧✧ | 判断,考虑细节 |
201 - Squares | 脑洞 | ✦✦✧✧✧ | ✦✦✧✧✧ | 思维转换 |
220 - Othello | 大模拟题 | ✦✦✦✧✧ | ✦✦✧✧✧ | 思路不难,代码量大 |
253 - Cube painting | 水题 | ✦✧✧✧✧ | ✦✧✧✧✧ | 思路转换 |
1590 IP Networks | 大模拟题 | ✦✦✦✧✧ | ✦✦✧✧✧ | 具体细节 |
12108 - Extraordinarily Tired Students | 简单题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 逻辑要清晰 |
815 - Flooded! | 模拟/二分搜索 | ✦✦✦✧✧ | ✦✦✦✧✧ | 多种方法 |
第五章(C++与STL入门)
博文链接:算法竞赛入门经典(第2版)—第五章
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
10474 - Where is the Marble? | 排序 | ✦✧✧✧✧ | ✦✧✧✧✧ | |
101 - The Blocks Problem | 模拟题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 有一定难度,思路一定清晰 |
10815 - Andy’s First Dictionary | 简单题/set | ✦✧✧✧✧ | ✦✧✧✧✧ | |
156 - Ananagrams | set/map | ✦✦✧✧✧ | ✦✦✧✧✧ | 技巧 |
12096 - The SetStack Computer | 模拟题 | ✦✦✦✧✧ | ✦✦✦✧✧ | set的使用与ID映射 |
540 - Team Queue | 队列 | ✦✦✦✧✧ | ✦✦✦✧✧ | 技巧,多个队列 |
136 - Ugly Numbers | 优先队列/素数 | ✦✦✦✧✧ | ✦✦✧✧✧ | 推导 |
400 - Unix ls | 模拟题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 输入输出 |
1592 - Database | 大模拟题 | ✦✦✦✧✧ | ✦✦✧✧✧ | |
814 - The Letter Carrier’s Rounds | 大模拟题 | ✦✦✦✧✧ | ✦✦✧✧✧ | 细节较多 |
221 - Urban Elevations | 离散化 | ✦✦✦✦✧ | ✦✦✦✧✧ | 离散思想借鉴 |
1593 - Alignment of Code | 模拟题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 处理输入输出 |
1594 - Ducci Sequence | 模拟题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 数组传引用 |
10935 - Throwing cards away I | 模拟题 | ✦✧✧✧✧ | ✦✧✧✧✧ | 队列模拟 |
10763 - Foreign Exchange | 简单题 | ✦✦✦✧✧ | ✦✦✦✧✧ | STL使用 |
10391 - Compound Words | 脑洞 | ✦✦✦✧✧ | ✦✦✦✧✧ | 思维转换 |
1595 - Symmetry | 简单题 | ✦✦✧✧✧ | ✦✦✧✧✧ | |
12100 - Printer Queue | 优先队列 | ✦✦✧✧✧ | ✦✦✧✧✧ | |
1596 - Bug Hunt | 大模拟 | ✦✦✦✦✧ | ✦✦✧✧✧ | 难度较多,细节较多 |
第二部分—基础篇
第六章(数据结构基础)
博文链接:算法竞赛入门经典(第2版)—第六章
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
210 - Concurrency Simulator | 大模拟 | ✦✦✦✧✧ | ✦✦✦✧✧ | 双端队列 |
514 - Rails | 栈 | ✦✦✧✧✧ | ✦✦✧✧✧ | 注意栈初始化为空 |
1442 - Matrix Chain Multiplication | 栈 | ✦✦✧✧✧ | ✦✦✧✧✧ | |
11988 - Broken Keyboard | 链表 | ✦✦✧✧✧ | ✦✦✧✧✧ | STL中的list |
12657 - Boxes in a Line | 模拟链表 | ✦✦✦✧✧ | ✦✦✧✧✧ | 比较难的模拟题 |
679 - Dropping Balls | 二叉树 | ✦✦✦✧✧ | ✦✦✧✧✧ | 思路简化 |
122 - Trees on the level | 二叉树 | ✦✦✧✧✧ | ✦✦✧✧✧ | 动态创建 |
548 - Tree | 二叉树 | ✦✦✧✧✧ | ✦✦✧✧✧ | 二叉树的重建(中序、后序) |
839 - Not so Mobile | 二叉树/递归 | ✦✦✦✧✧ | ✦✦✦✧✧ | 递归思想借鉴 |
699 - The Falling Leaves | 二叉树/递归 | ✦✦✦✧✧ | ✦✦✧✧✧ | 递归思想 |
572 - Oil Deposits | 水题/DFS | ✦✧✧✧✧ | ✦✧✧✧✧ | 递归思想 |
1103 - Ancient Messages | 大模拟 | ✦✦✦✧✧ | ✦✦✧✧✧ | 突破点巧妙 |
816 - Abbott’s Revenge | 大模拟/BFS | ✦✦✦✧✧ | ✦✦✦✧✧ | 细节较多、代码量大 |
10305 - Ordering Tasks | 拓扑排序 | ✦✦✧✧✧ | ✦✦✦✦✧ | 拓扑排序的两种方法 |
10129 - Play on Words | 判断欧拉路径 | ✦✦✧✧✧ | ✦✦✦✧✧ | 方法需要记忆 |
10562 - Undraw the Trees | DFS | ✦✦✧✧✧ | ✦✦✧✧✧ | |
12171 - Sculpture | BFS/离散化 | ✦✦✦✦✧ | ✦✦✧✧✧ | 思想比较难,离散化 |
1572 - Self-Assembly | 拓扑排序 | ✦✦✦✧✧ | ✦✦✧✧✧ | 思想转换为图,比较巧妙 |
1599 - Ideal Path | BFS | ✦✦✦✧✧ | ✦✦✦✧✧ | 双向BFS |
506 - System Dependencies | 大模拟/拓扑 | ✦✦✦✧✧ | ✦✦✧✧✧ | 细节较多 |
11853 - Paintball | 对偶图/DFS | ✦✦✦✧✧ | ✦✦✦✧✧ | 思维转换巧妙 |
673 - Parentheses Balance | 简单题/栈 | ✦✧✧✧✧ | ✦✧✧✧✧ | |
712 - S-Trees | 二叉树 | ✦✦✧✧✧ | ✦✦✧✧✧ | 观察规律 |
536 - Tree Recovery | 二叉树 | ✦✦✧✧✧ | ✦✦✧✧✧ | 二叉树的重建(前序、中序) |
439 - Knight Moves | BFS | ✦✧✧✧✧ | ✦✧✧✧✧ | 裸的BFS |
1600 - Patrol Robot | BFS | ✦✦✦✧✧ | ✦✦✦✧✧ | BFS变体 |
12166 - Equilibrium Mobile | 树 | ✦✦✦✧✧ | ✦✦✧✧✧ | 思维转换巧妙 |
10410 - Tree Reconstruction | 树 | ✦✦✦✧✧ | ✦✦✧✧✧ | BFS和DFS重建树 |
12118 - Inspector’s Dilemma | 欧拉回路 | ✦✦✦✧✧ | ✦✦✧✧✧ | 欧拉回路变形题 |
第七章(暴力求解法)
博文链接:算法竞赛入门经典(第2版)—第七章(暴力求解)
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
725 - Division | 暴力枚举 | ✦✦✧✧✧ | ✦✦✦✧✧ | 枚举思路的转化 |
11059 - Maximum Product | 暴力枚举 | ✦✦✧✧✧ | ✦✦✧✧✧ | 区间枚举 |
10976 - Fractions Again?! | 暴力枚举 | ✦✦✧✧✧ | ✦✦✦✧✧ | 缩小枚举范围 |
524 - Prime Ring Problem | DFS | ✦✦✧✧✧ | ✦✦✧✧✧ | 简单深搜题 |
129 - Krypton Factor | DFS/回溯 | ✦✦✦✧✧ | ✦✦✧✧✧ | 难一些的深搜题 |
140 - Bandwidth | 暴力枚举 | ✦✦✧✧✧ | ✦✦✧✧✧ | |
10603 - Fill | BFS/隐式图 | ✦✦✦✧✧✧ | ✦✦✦✧✧ | 图的构建转化有难度 |
208 - Firetruck | DFS | ✦✦✧✧✧ | ✦✦✧✧✧ | 提前判断 |
1601 - The Morning after Halloween | BFS | ✦✦✦✦✧ | ✦✦✧✧✧ | 图的降维 |
12325 - Zombie’s Treasure Chest | 枚举 | ✦✦✦✧✧ | ✦✦✧✧✧ | 缩小枚举范围 |
uva - 11214 | DFS/枚举 | ✦✦✦✧✧ | ✦✦✦✧✧ | 有关皇后问题 |
第八章(高效算法设计)
博文链接:算法竞赛入门经典(第2版)—第八章(高效算法设计)
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
120 - Stacks of Flapjacks | 技巧题 | ✦✦✦✧✧ | ✦✦✧✧✧ | 脑洞 |
1605 - Building for UN | 构造题 | ✦✦✧✧✧ | ✦✦✧✧✧ | 直接输出符合题意的构造数据 |
1152 - 4 Values whose Sum is 0 | 二分 | ✦✦✧✧✧ | ✦✦✦✧✧ | 二分思想的应用 |
11054 - Wine trading in Gergovia | 贪心 | ✦✦✦✧✧ | ✦✦✧✧✧ | 脑洞 |
11572 - Unique Snowflakes | 模拟 | ✦✦✦✧✧ | ✦✦✧✧✧ | 脑洞 |
第九章(动态规划)
博文链接:算法竞赛入门经典(第2版)—第九章(动态规划)
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
1025 - A Spy in the Metro | 动态规划 | ✦✦✦✧✧ | ✦✦✧✧✧ | 状态构造 |
437 - The Tower of Babylon | 动态规划 | ✦✦✦✧✧ | ✦✦✧✧✧ | 状态构造 |
1347 - Tour | 动态规划 | ✦✦✦✧✧ | ✦✦✦✧✧ | 状态构造 |
116 - Unidirectional TSP | 动态规划 | ✦✦✦✧✧ | ✦✦✦✦✧ | 路径的存储 |
11400 - Lighting System Design | 动态规划 | ✦✦✦✧✧ | ✦✦✧✧✧ | 状态构造 |
1625 - Color Length | 动态规划 | ✦✦✦✧✧ | ✦✦✦✧✧ | 状态构造 |
11584 - Partitioning by Palindromes | 动态规划 | ✦✦✦✧✧✧ | ✦✦✦✦✧ | 状态构造 |
10003 - Cutting Sticks | 动态规划 | ✦✦✦✧✧ | ✦✦✦✦✧ | 容易当成哈夫曼树 |
1626 - 括号序列 | 动态规划 | ✦✦✦✦✧ | ✦✦✧✧✧ | 递归打印输出 |
10285 - Longest Run on a Snowboard | 动态规划 | ✦✦✧✧✧ | ✦✦✦✧✧ | 简单记忆化搜索 |
10118 - Free Candies | 动态规划 | ✦✦✦✧✧ | ✦✦✦✧✧ | 状态构造 |
1629 - Cake slicing | 动态规划 | ✦✦✧✧✧ | ✦✦✦✧✧ | 状态构造 |
第十章(数论)
博文链接:算法竞赛入门经典(第2版)—第十章(数论)
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
11582 - Colossal Fibonacci Numbers! | 快速幂乘/斐波那契 | ✦✦✦✧✧ | ✦✦✧✧✧ | 数据类型使用unsigned long long |
12169 - Disgruntled Judge | 扩展欧几里得 | ✦✦✦✧✧ | ✦✦✧✧✧ | 公式转换 |
10791 - Minimum Sum LCM | 唯一分解定理 | ✦✦✦✧✧ | ✦✦✦✧✧ | |
第十一章(图论)
博文链接:算法竞赛入门经典(第2版)—第十一章(图论)
题目名称 | 题目类型 | 题目难度 | 复习指数 | 备注 |
---|
12219 - Common Subexpression Elimination | 树 | ✦✦✦✦✧ | ✦✦✧✧✧ | 递归构建树 |
1662 - Brackets Removal | | ✦✦✦✧✧ | ✦✦✧✧✧ | |
1395 - Slim Span | 最小生成树/二分 | ✦✦✦✧✧ | ✦✦✦✧✧ | 状态构造 |
1151 - Buy or Build | 最小生成树/枚举 | ✦✦✦✧✧ | ✦✦✦✦✧ | |
247 - Calling Circles | 判断环 | ✦✦✧✧✧ | ✦✦✧✧✧ | floyd改变条件 |
10048 - Audiophobia | 二分/BFS | ✦✦✦✧✧ | ✦✦✦✧✧ | 二分选值 |
658 - It’s not a Bug, it’s a Feature! | 隐式图/SPFA | ✦✦✦✧✧ | ✦✦✦✧✧ | 图的构建 |
12661 - Funny Car Racing | 最短路径 | ✦✦✦✧✧ | ✦✦✦✦✧ | 边的权值在变化,dijstra变体 |
821 - Page Hopping | 最短路径 | ✦✧✧✧✧ | ✦✦✧✧✧ | floyd |
10801 - Lift Hopping | 最短路径 | ✦✦✦✧✧ | ✦✦✦✦✧ | 图的构建,floyd |