一个好的信息学竞赛刷题训练记录,应该记录哪些内容

一个好的信息学竞赛(OI/ICPC)刷题记录,核心目的不是“备份代码”,而是“复盘思维”。如果你只是粘贴AC代码,这份记录毫无价值。

一个顶尖选手的训练记录,应当包含以下 5个维度 的内容,我将其分为“硬记录”和“软思考”两部分:

第一维度:元数据(硬记录,便于检索)
这是基础,用于后期统计和快速定位。

基本信息:题目来源(Codeforces/Luogu/AtCoder/LOJ等)、题号、题名、时间、耗时。

标签(Tag):不要只写“DP”,要细化到“区间DP + 四边形不等式优化”或“树上背包 + 依赖型”。

难度自评:官方评分(如CF的*2300)和你自己的主观感受(1-5星)。如果主观感受远高于官方分,说明这块是你的短板。

第二维度:思维链(软思考,最核心)
这是记录的灵魂所在。不要只记录“正解”,要记录“你是怎么想到正解的”以及“你走进了哪些死胡同”。

审题与抽象:题目中的关键条件是什么?是如何转化为数学模型(图、树、序列、集合)的?

突破口(Key Point):那道题的“题眼”在哪里?是注意到数据范围的特殊性(如

n

2
e
5
∑n≤2e5),还是发现某个性质(如单调性、二分性)?

思维岔路(错误尝试):这是最有价值的部分! 比如:“一开始想用贪心,但发现局部最优不满足全局,卡了30分钟;后来发现满足最优子结构,转而考虑DP。” 记录下这种挣扎的过程,能有效避免下次犯同类错误。

官方/题解思路对比:你的解法和题解有什么不同?题解的巧妙之处在哪里?(例如:题解用了反证法,而你是强行分类讨论)。

第三维度:代码实现与调试(工程细节)
信息学竞赛不仅考思维,更考码力。

复杂度分析:严格记录时间
O
(
n
log

n
)
O(nlogn) 和空间复杂度,并注明是否卡常(如:开了O2优化,或用快读)。

Debug 记录(踩坑点):

边界条件:比如数组开小了(RE)、int爆精度(需要开long long)、循环变量写错。

特殊情况:
n

1
n=1 的情况、全零的情况、图不连通的情况。

实现技巧:比如“这里用 std::set 维护比用 priority_queue 更好写,因为需要删除任意元素”。

第四维度:收获与总结(内化过程)
做完一道题,要强迫自己用一句话提炼出“套路”。

一句话精华:用自己最通俗的语言总结。例如:“遇到网格图最值,考虑建图跑最短路”或“绝对值去掉,要么排序前缀和,要么数据结构维护”。

模型迁移:这道题是经典模型(如最长上升子序列)的变种吗?变在哪里?

可复用板子:这道题有没有衍生出一个通用的函数/代码片段,可以加入你的代码仓库?

第五维度:错题本属性(战略层面)
当前状态:独立做出 / 思路对但代码有bug / 看题解提示后做出 / 完全看题解。

重做日期:标记一个日期(如 1周后、1个月后)。真正的好题,值得反复刷,等重做时再来对比这次记录,看是否还有阻塞点。

一个可直接套用的【Markdown 模板】
markdown

[来源-题号] 题目名称

  • 时间:2026-08-04 | 耗时:45min | 状态:独立做出 / 看题解
  • 难度:官方 2100 | 自评 ⭐⭐⭐⭐
  • 标签:#并查集 #离线逆序 #贪心

1. 题目抽象

给定 ...,求 ...。关键限制条件:( n \le 2e5 ),边权递增。

2. 破题思路

  • 错误尝试:一开始想正着模拟删边,发现删边不好维护连通性,卡了10min。
  • 正确突破口:发现删边难,正难则反,改为逆序加边。加边后用并查集维护集合大小即可。
  • 核心性质:因为边权是唯一的,所以加边顺序决定了最大边权。

3. 关键代码/避坑

// 注意:合并时先判断根,否则 size 会加错!
if (fx != fy) {
    ans -= 1LL * sz[fx] * sz[fy]; // 这里要开 long long!
    fa[fx] = fy; sz[fy] += sz[fx];
}
Bug记录:int 溢出,WA了2发,以后看到组合数计算直接 long long。

4. 总结(一句话)
遇到动态破坏连通性,优先想“时间倒流 + 并查集”。

5. 同类题推荐
□ P1197 [JSOI2008] 星球大战(类似逆序)
□ 重做日期:2026-08-11
text

---

### 最后给你两个管理建议:
1. **拒绝题海战术**:如果一道题你完全没思路,看完题解后,**不要急着记录**,关上题解自己用口述把逻辑讲一遍,讲得通再记录。讲不通,说明没消化,记了也没用。
2. **统计错因**:每月底扫一眼记录的“Debug记录”和“错误尝试”,统计自己最常见的错误类型(是边界没处理好?还是算法选错?还是读题漏条件?)。**针对高频错误刻意训练,提分效率最高。**

如果你愿意,我可以帮你把这份模板做成 **Notion/飞书多维表格** 的字段结构,方便后期数据透视分析,需要吗?😊
posted @ 2026-09-08 13:27  Zhenggeek  阅读(4)  评论(0)    收藏  举报