← 返回竞赛经历算法竞赛 / LeetCode / Codeforces

算法训练记录:从每日一题到可复用题型

用持续训练、赛后补题和模板整理,把零散做题转化为稳定的问题识别能力。

算法训练最初很容易变成“今天又做了几题”。随着题目增多,我开始把训练目标从数量改为识别模式、验证复杂度,并在比赛后补齐没有完成的题。

一次训练的基本流程

  1. 限时独立思考,记录第一反应与卡点;
  2. 写出朴素解,明确时间与空间复杂度;
  3. 寻找约束中暗示的优化方向;
  4. 通过边界样例验证实现;
  5. 赛后把关键转换整理进题型笔记。

为什么要赛后补题

比赛中没有做出的题,通常最能暴露知识缺口。补题时我会区分三种原因:没有识别算法、思路正确但实现失败、时间分配不合理。对应的改进方式并不相同。

模板不是答案

并查集、最短路、二分和常见动态规划都值得保留可靠模板,但模板真正的价值是减少实现噪音。训练重点仍然是判断模型何时适用、状态如何定义、复杂度能否通过。

相关实现持续整理在 algorithmcode 仓库。这里则更多记录题目背后的判断过程与复盘。