一、你现在会什么
不用谦虚也不用夸张,按这本书的口径说:30 章是 CSP-J 普及组范围内的,13 章是提高组内容。走完之后,你手上有三样东西是很多人没有的:
- 会写暴力,而且知道暴力是干嘛的 —— 它是你读懂题意的手段、对拍的标准答案、 考场上的保底分。跳过暴力直奔正解,是自学最容易走死的一条路。
- 会用对拍验证自己,而不是对答案。这是竞赛选手真正的调试方式: 它不告诉你「不一样」,它把那一组数据摆到你面前。
- 会怀疑一句口诀。这本书里被实测推翻的口诀不止一句 —— 「线性筛比埃氏筛快」(第 41 章)、「SPFA 已死」的适用范围(第 33 章)、 「优化都是正的」(第 39 章那个负分旋钮)。拿实测复核结论这件事,比任何一个算法都值钱。
二、考前怎么重看
时间不够,而且顺着读最容易读成「看着都会」。正确的做法是打开每章末尾的自测清单,从第一条「合上页面白纸默写」开始做 —— 默写不出来的那几章才是你要重看的。 哪些章还没勾完,进度总览这一页一次看得到。
J 组考前:这 20 章是「不会就直接丢分」的,按顺序过一遍默写:
- 第 1 章 递归入门:函数怎么调用自己
- 第 3 章 递归 = 决策树:子集、组合、全排列
- 第 4 章 回溯与状态恢复:N 皇后
- 第 8 章 二分查找
- 第 9 章 二分答案
- 第 10 章 排序:冒泡 → 归并 → 快排
- 第 13 章 DFS 深度优先搜索:网格连通块
- 第 14 章 BFS 广度优先搜索:迷宫最短路
- 第 16 章 DFS 剪枝:可行性、最优性、搜索顺序
- 第 17 章 记忆化搜索
- 第 21 章 DP 入门:从记忆化到递推
- 第 23 章 01 背包
- 第 24 章 完全背包与多重背包
- 第 29 章 图的存储:三种存法的对比与选型
- 第 30 章 图上的 DFS 与 BFS、连通性
- 第 36 章 并查集
- 第 37 章 堆与 priority_queue
- 第 40 章 GCD、LCM 与欧几里得算法
- 第 41 章 质数:试除 → 埃氏筛 → 线性筛
- 第 42 章 快速幂与取模
S 组考前:上面那些要更熟(它们是提高组题目的地基),再加上标着「提高组 S」的那 13 章 —— 重点是第 32/33 章的最短路、第 38/39 章的树状数组与线段树、第 26~28 章的三种 DP。路线图上带徽章的就是。
另外:题单汇总里标了「第 X 章也用这道题」的那些, 考前最值得再做一遍 —— 同一道题用不同方法各写一遍,比多做十道新题管用。
三、这本书还欠你什么
对照 CCF 大纲逐条扫过之后,下面这些是这个站目前没有独立章节的。 它们不是「进阶内容」,有几样是 CSP-J 必考 —— 别以为走完这条路线就没缺口了。
| 缺的东西 | 为什么要紧 |
|---|---|
| 高精度 | CSP-J 必考。本书只在几条练习的备注里顺带提过,没有独立章节 —— 这是最大的一块缺口 |
| 字符串(KMP / Trie / 哈希) | S 组常考,本书 0 命中 |
| 位运算 | & | ^ << >>、lowbit、异或性质没有系统讲 —— lowbit 只在第 37~39 章顺带用到,位运算本身没有独立一节 |
| 复杂度估算与考场策略 | 「n ≤ 10⁵ 该往 O(n log n) 想」这个考场核心判断;以及骗分、评测反馈(CE / RE / MLE)怎么读 |
| 读入优化 | sync_with_stdio 在本书 496 份代码里的 274 份出现过,却从没在正文解释过;快读、freopen 也没讲 |
| LCA / 倍增 | S 组树上问题的基本功,本书 0 命中 |
在这些章补上之前,去 OI Wiki 和洛谷的题单上把它们补掉 —— 本书的每一章都是按「先暴力、再实测、再关键一步、再对拍」的路子走的, 你已经会这套流程了,补新知识点时照着这个流程走,比抄模板扎实得多。
四、最后一句
这本书从头到尾只反复讲了一件事:不要相信「看起来对」的东西 ——不管那是一个贪心、一句口诀、一个「优化」,还是你自己刚写完的代码。 造一组数据把它逼到墙角,或者换一把尺子量一量。 这件事在考场上叫拿分,在别处叫做事的方法。
想回去看看:学习路线 ·我的进度 ·题单汇总 ·第 43 章 组合数与递推