怎么用这份讲义
一次一章
不要一次读五章再做题,也不要一次做十道题再回来看。
读完一章 → 做完这章的题 → 再看下一章。 中间断了几天也没关系,接着上次的章节走就行。
为什么强调一次一章:每一章的新概念都建立在上一章之上,隔太久再回来,你会发现自己卡在某个"明明学过"的地方。
关于"自己做出来"
讲义里的示例代码,手敲,不要复制。
复制粘贴你会跳过所有细节:分号、括号、<< 和 < 的区别。手敲的时候这些细节会逼你注意,也会让你在出错时知道自己错在哪。
同理,题目做不出来去看题解,看完要关掉题解自己重写一遍。看着抄一遍然后提交通过,你得到的是一次"通过"的记录和零能力增长——这道题三天后问你,你还是不会。
抄题解是最贵的捷径——它花掉了你的时间,还让你误以为自己会了。
卡住了怎么办
按这个顺序试:
- 读两遍题目。很多"不会做"其实是"没读懂"。
- 拿样例数据在纸上算一遍。算出答案,再和自己的程序输出对比,能立刻分出是思路错还是实现错。
- 看讲义这一章的"容易错的地方"。放那里就是因为它高频。
- 看评测详情。点进提交记录,看是哪个测试点挂了、输出差在哪。
- 40 分钟还毫无进展,去看题解。
第 5 步不是失败。 但看完必须重写。
关于时间
- 一次训练 2–3 小时,中间休息一次。
- 一天不要超过两个时段。第三段的效率接近零。
- 按照"今天做完这 5 道"来安排,不要按"今天学一下循环"——后者你永远不知道自己算不算完成。
进度怎么算
作业页面上有进度条和通过率。怎么读它们:
| 指标 | 怎么用 |
|---|---|
| 已完成 / 总数 | 只说明你走了多远 |
| 首次通过率 | 这个才有信息量。太低说明你在舒适区外太远,太高说明题太简单或者你在抄 |
首次通过率接近 100% 不是好事。有 50%–70%,说明你在正确的位置上练。
和 wiki 的关系
每章的知识点,https://wiki.hanzel.top/ 上有更系统的讲解。本站的定位是配套这门课的路线图和解说,不是替代 wiki。
看不懂某个语法点,去 wiki 查那一条;不知道"现在该学什么、这题为什么错",来看本站。
给教练
要改讲义内容:
cd /home/lighthouse/docs
vim course/loop-basic.md
./build.sh
讲义里的题目清单是从 OJ 的作业结构自动生成的,源数据在 hw.json + titles.json,改完跑 python gen_course.py 会重新生成。手动改题目清单会在下次生成时被覆盖,改 OJ 上的作业结构才是正路。