# 题单与训练

## 什么叫"练"

先说一个不好听的事实：**在题库里按通过率从高往低刷，不叫练。**

那叫消遣。因为每一题都在你的舒适区边缘摇摆，做出来的多半是你已经会的，做不出来的你不会去啃，直接跳过。一天下来刷了二十题，能力没有变化。

题单存在的意义就是**替你把"下一题做什么"这个决策拿掉**，同时强迫你待在不舒服的区间里。

## 题单是什么

把一组题目按顺序组织起来，带进度统计。

顺序不是随便排的。一般是按知识点递进或难度爬坡设计，**前面是后面的前置**。

## 怎么用题单

1. 打开「训练」，选你当前阶段的题单。
2. **按顺序做，不要跳。** 你觉得第 7 题太简单想跳过去，往往意味着第 12 题你会卡在那道题教的东西上。
3. 卡住超过 40 分钟，去看题解。
4. 看完题解，**关掉题解，自己重写一遍**。

第 4 步是全部流程里唯一不能省的一步。

> #### Danger::
>
> 看着题解抄一遍代码然后提交 AC，你得到的是一次「通过」的记录和零能力增长。这道题三天后问你，你还是不会。**抄题解是最贵的捷径**——它花掉了你的时间，还让你误以为自己会了。

## 40 分钟这条线怎么定的

短了，你还没进入真正的思考；长了，你会在错误的方向上耗光精力。

过了 40 分钟还毫无进展，通常说明**你缺的不是时间，是某个前置知识**。这时候看题解不是偷懒，是补课。但补完要回来重写。

> #### Info::
>
> 如果 40 分钟内你有明确进展（比如推出了一个子问题、验证了一个方向不对），可以继续。判断标准不是「有没有卡住」，是「有没有在收敛」。

## 训练节奏

- **一次 2–3 小时**，中间强制休息一次。
- 一天不要超过两个训练时段。第三段的效率接近零，只是自我安慰。
- 每个题单做完做一次复盘：把没做出来的、做出来但超时的题单独记下来。
- **复习优先于开新题。** 做过的题隔一周重做，比一直刷新题有效得多。

> 训练要可数，不要可感知。

「今天做完这 5 道」比「今天学一下图论」好，因为前者做完就是做完了，后者你永远不知道自己算不算做完，于是要么糊弄自己，要么焦虑一整晚。

## 进度意味着什么

题单页面顶部有进度条和几个数字。怎么读它们：

| 指标 | 怎么用 |
| --- | --- |
| 已完成 / 总数 | 只说明你走了多远，不说明你练得怎么样 |
| 首次通过率 | **这个才是有信息量的**。低说明你老在边缘试探，高说明要么题太简单要么你在抄 |
| 最近提交 | 挂在那里超过一周，说明这个题单已经死了 |

> #### Warning::
>
> 首次通过率接近 100% 不是好事。它通常意味着这个题单对你太简单了，或者你在别的地方看完答案才来交。**有 50%–70% 的首次通过率，说明你在正确的位置上练。**

## 比赛和题单不是一回事

| | 题单 | 比赛 |
| --- | --- | --- |
| 时间 | 不限，你自己安排 | 固定起止，过点就关 |
| 目的 | 学东西 | 检验和排名 |
| 心态 | 允许卡、允许看题解 | 卡住就是丢分 |
| 数据 | 通常可见 | 常隐藏测试点 |

比赛期间部分题目会隐藏测试点数据。这不是为难你，是防止有人针对数据打表。

**用题单练能力，用比赛验能力。** 只打比赛不练题单，你的上限就是你现在会的那些；只练题单不打比赛，你会在压力下做不出本来会做的题。
