尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

刷题到120题后,如何用每日计划、解题拆解与复盘突破瓶颈

刷题到120题后,如何用每日计划、解题拆解与复盘突破瓶颈 刷题刷到第120多题的时候我发现一个很有意思的现象很多人不是被某道难题劝退的而是被“每天都要做新题”这件事本身消耗掉的。3月6日这天我的计划表上写的是127-129题三题连做看起来稀疏平常但就是这个“稀疏平常”的节奏才是刷题计划真正开始起作用的时刻。这篇内容我不仅会聊聊这三道题所在阶段的特点更重要的是想完整分享一下当你的刷题进度推进到这个位置时整个计划该如何设计、每一道题该怎么拆、错题该怎么消化以及遇到“不想刷了”“刷了也白刷”的情绪时怎么把状态拉回来。这篇文章适合那些已经开始刷题、但隐约觉得进度停滞或者只是机械打卡的人看。不管你做的是哪个题库、编号规则是否一致120多题这个区间代表的“从入门到进阶的过渡段”方法论都是通用的。1. 为什么要把刷题当成一个“每日计划”来经营1.1 刷题计划的核心是先解决“坚持”这个工程问题刷题这件事从技术层面看考的是数据结构和算法功底但从执行层面看它本质上是个工程问题你如何设计一套系统让“每天刷题”这件事能够低成本地持续运转下去。很多人一开始热情很高第一天刷5题第二天刷4题第三天刷3题然后周末断档再然后整个计划报废。这不是意志力的问题是计划设计的问题。人类大脑天然倾向于选择阻力最小的路径如果每天开始刷题前都要纠结“今天刷什么”“从哪里开始”那股纠结劲儿本身就足以消耗掉大半的自律储备。所以我把刷题计划设计成固定节奏每天三题周一至周日无特殊情况不中断。这个“固定”本身就是最大的省力设计。到了3月6日我甚至不需要思考就知道今天的任务是127-129题。大脑不用做决策行动阻力自然降到最低执行力反而最高。1.2 127-129题这个位置从新鲜感进入平台期每个刷题者都会经历三个阶段最初30题是新鲜感驱动的蜜月期不管难题简单题都充满好奇中间60-100题是能力爬坡期能明显感觉到自己在变强而到第120题左右真正的考验来了——你已经见过足够多的题型新鲜感消耗殆尽又没有强到可以碾压一切题目此时最容易产生“我刷这些到底有没有用”的怀疑。3月6日的127-129题恰好落在这个敏感区间。这个位置的题目往往有一个共同特征不再是纯粹考某一个知识点而是开始把多个知识点糅合在一起。可能一道题既要处理输入边界、又要设计状态转移还可能涉及某种优化技巧。这和三四十题时“你知道用哈希表就能过”的模块化题目完全不同。如果这时候你还在用刷数量的思维去做题就会发现自己越来越吃力甚至开始怀疑自己前一百题是不是白刷了。其实不是白刷而是题目对你的要求从“会做”升级到了“会分析”。1.3 计划设计里的几个关键参数一个健康的刷题计划至少需要三个参数每日题量、题目难度配比、复习频率。这三个参数缺一个计划就会出问题。每日题量我建议固定在2-3题。别小看这个数字它的意义不在于“量”而在于“可持续性”。每天10题你只能坚持两天每天3题你可以坚持三个月。后者才是真正能改变你能力结构的东西。难度配比上我常用的比例是1:1:1——一道简单题热身、一道中等题主力思考、一道困难题尝试突破。这种配比的好处是你的自信心不会因为连续卡难题而崩溃同时又能保证每天都在接触有挑战性的内容。以127-129题为例如果三道题难度分布均衡我一般会先做那道简单的建立手感把中等题作为今天的核心战场困难题就尽力拆解、不强求一次通过。复习频率上我采用“每周滚动复习”的机制这个后面我会单独展开说。2. 三道题的正确打开方式一套可复用的做题流程2.1 拿到题目后的10分钟读题与自我提问很多人刷题效率低的第一个原因是读题不仔细。不是不识字而是没有带着问题去读。我拿到127题时会先花30秒通读一遍题目然后用10分钟做四件事第一确认输入输出的边界。数据范围是多少是否允许为空有没有超大数值的情况很多题目难不是难在算法本身而是边界条件极其隐蔽。第二抽象问题的本质。这题在考什么是数组遍历、双指针、动态规划还是图搜索不要管题目的故事包装把它扒干净露出底层的算法骨架。第三思考暴力解是什么。不要上来就想最优解先确认最朴素的做法是什么复杂度是多少。很多时候暴力解想清楚了优化的方向也就自然浮现了。第四估算优化目标。题目要求的复杂度大概在什么量级如果数据规模是10的5次方那么O(n^2)基本就悬了如果是10的3次方O(n^2)可能还够用。这10分钟的价值不是让你直接写出答案而是让你的大脑进入“这道题的上下文”里。很多人在题解区看别人的解法觉得很简单但轮到自己做就卡住核心原因就是跳过了这10分钟的上下文建立过程。2.2 卡住之后怎么查资料才是真正的分水岭刷题到了120题以后你一定会频繁遇到“想了半小时还毫无头绪”的情况。此时查不查题解、怎么查题解是区分有效刷题和无效刷题的分水岭。我的规则很简单30分钟以内绝不查任何外部资料。这30分钟里你可以反复读题、画样例、尝试不同的数据结构原型、甚至去白纸上模拟算法的执行过程。实在没思路我会把题目先放到一边去做今天的第二题让潜意识在后台处理。超过30分钟依然卡住这才允许查题解。但查题解时有个大忌——不要直接翻到最后看代码。先把题解的思路描述读了关上页面自己重新写。哪怕写出个有bug的版本也没关系关键是“基于思路提示的重新实现”这一整个思维过程要由你自己完成。如果你直接照着题解把代码抄一遍你获得的是“看得懂”的幻觉而丢失的是“写得出来”的真实能力。这两种能力之间的落差会在你后续遇到同类型新题时彻底暴露。2.3 三种题型的通用应对思路虽然我不知道127-129题具体的内容但到了这个题量区间常见的高频考察类型基本可以用三条思路覆盖第一遍历类问题。核心是双指针和前缀和的组合运用。看到“连续子数组”“区间查询”这类关键词不要慌先考虑能否通过双指针维护一个滑动窗口或者用前缀和把区间问题变成差值比较。这类问题的优化方向几乎永远是“减少重复计算”。第二状态决策类问题。核心是动态规划或贪心。这类题的最大误区是试图一次找到完美的递推公式。实操中我建议先定义状态再推转移方程最后才考虑压缩状态空间。三个步骤不要跳步很多你以为是贪心的问题实际上是动态规划可以解决的。判断标准也很简单局部最优是否能推导全局最优不确定时就老老实实写动态规划。第三结构建模类问题。核心是栈、队列、哈希表的灵活运用。这类题往往用一个辅助数据结构就能把时间复杂度降一个量级。看到括号匹配、表达式求值之类第一反应是栈看到统计频次、去重、查找第一反应是哈希表。这三条思路在120题这个阶段会反复出现。当你刷到一定量时会发现题目虽然千变万化但底层的解题模板是有限的。你要做的事情就是在每一次做题中强化这些模板的匹配速度。3. 复盘比做新题更重要我的笔记与错题整理方法3.1 错题本不用精美但必须能“触发回忆”很多人的错题本做得跟手账一样精致五颜六色标注、贴纸装饰但做完之后再也没翻开过。这是本末倒置了。错题本的核心价值只有一个当你在未来某一天回看时能够瞬间回忆起当时的思维卡点。我的错题本格式极其简陋——每题一行状态标记加两三句当时的错误原因。比如“127题审题漏了‘非负整数’导致初始化出错”“128题想用贪心但是正解是动态规划注意区间重叠的边界处理”。这些话不是什么漂亮话但它们能精准触发记忆。关键是状态标记。我用三个符号已搞定、待重做、彻底放弃。已搞定表示这道题我已经能独立写出来待重做表示我看了解析但还没法独立完成彻底放弃表示这道题超出当前水平先跳过过三个月再来。每一周我会定期复习“待重做”的题目直到它们被挪进“已搞定”。3.2 提炼模板与套路让一道题变成一类题刷题效率高的本质不是碰到原题能默写而是碰到新题能归类。归类能力从哪来从刷完一道题之后的主动提炼中来。具体做法是每做完一道值得记的题用三句话总结它。第一句是题型归类比如“区间合并类”“单调栈求下一个更大元素”第二句是核心算法思路比如“按起点排序遍历时维护当前区间的终点”第三句是复杂度特征比如“O(n log n)排序加O(n)扫描”。这三句话写下来一道题就脱离了具体的题目包装变成了一个可迁移的抽象模型。三个月后你再遇到一道新题哪怕题干完全不一样但只要你能识别出“这是区间合并的变体”你就能立刻调用模板的框架去套。3.3 每周滚动复习怎么安排才不会变成自我感动复盘最容易出现的问题是攒了满满一个错题本但从不回头复习。这实际上是在用收集的勤奋掩盖消化的懒惰。我的解法是每周日固定做一轮滚动复习。复习对象只选两类题上周的“待重做”和上周“已搞定”里最不熟练的几道。复习方式也很朴素——直接在白板上写代码不查任何资料。写不出来的题降级回“待重做”写出来的就继续留在“已搞定”。这套机制看起来简单但坚持下来你三个月后回头看3月6日做的127-129题时会清晰地记得哪些知识点当时没吃透、后来是怎么补上的。滚动复习还有个容易被忽略的细节别贪多。每周安排3-5道复习题就够了。复习的目的是激活记忆不是创造新学习量。如果你把一周所有的新题时间都拿来做复习了计划一样会失衡。4. 常见问题与排查技巧实录4.1 今天就是不想刷怎么办每个人都会遇到这种日子。疲惫、烦躁、打游戏上头、工作加班总之就是不想碰题。很多人这时候会直接断掉然后第二天愧疚感爆发想一口气刷五题弥补结果第三天又断了陷入恶性循环。我的经验是状态不好时可以把“刷题”降级为“看题”。不看题解只把今天的题目读一遍想想思路然后写一句话总结放到笔记里。这十几分钟的投入虽然不起眼但它保持了和题目的接触保住了习惯的连续性。等到状态恢复时你会发现自己并没有完全脱节重拾起来非常自然。克服完美主义的执念告诉自己“今天的目标不是解出题目而是保住习惯”执行力反而更容易维持。4.2 刷了题还是不会做是方法错了吗这是120题阶段最让人沮丧的场景这道题我明明刷过类似题型怎么换个说法就不会了先别急着自我怀疑这大概率不是你的问题而是刷题阶段必然经历的“从具体到抽象”的转换过程。你觉得自己“刷过了”但复盘时很容易发现当时其实是背下了那道题的具体解法而不是掌握了这类题型的通用方法。真正的检验方式是下周重新做一遍这道题如果写不出来说明上周的做题过程是无效的。解决办法前面已经说过——提炼模板、滚动复习。如果你发现自己大量题目都处于“刷过但不会做”的状态问题可能出在每题花的时间太短上。适当把每日题量从3题降到2题把省出来的时间用来做深度总结效果往往更好。4.3 刷题速度慢、效率低怎么调整刷题速度慢通常来自两个原因一是代码基本功还不过关for循环、递归、指针操作这类基础不熟练导致脑子里明明有思路但手写不出来二是题目拆解的粒度太大总想一口气从0写到AC中间缺少步骤化的推进方式。针对第一种情况没有捷径就是加强基础语法的刻意练习比如不借助IDE自动补全纯手写数组反转、链表合并这类常用代码段。针对第二种情况把一次AC的目标改成阶段性子目标先写出能跑的暴力解再跑通测试样例最后优化复杂度。这三个阶段中间可以间隔开不一定非要一次完成。如果你每次都在一道题上磨两三个小时说明你选的题目难度已经超出了当前能力区。退一步把难度配比里的“困难题”换成“中等偏难题”把自信和进度先稳住比死磕一道题划算得多。5. 节奏与心态把长期主义落实到每一天5.1 接受波动但不接受中断刷题计划执行到第120题以后你会发现一个规律状态是波动的有高峰有低谷但连续性才是决定复利效应的关键。哪怕某天只做了两道简单题也比断掉强一百倍。我给自己定了一条铁律可以降低单日强度但绝不空过一天。这条铁律帮我度过了好几次想放弃的时期。因为一旦打破一次“全勤”大脑就会获得一个“计划可以中断”的许可之后中断的频率会越来越高。守住连续性就是守住了计划和大脑之间建立的信任契约。3月6日之所以值得记录下来不是因为这天刷了多难的题而是它作为连续计划中的一个普通节点见证了长期主义如何通过每一天的小动作发挥作用。5.2 用数据说话如何给自己做周复盘我每个周日会花20分钟做一个简单的统计本周刷了多少题、AC率多少、待重做多少、哪些类型的模板被调用了。这些数据看起来枯燥但它们是客观反馈能直接告诉我计划哪里出了问题。比如连续三周AC率都在下滑我就要考虑是不是题目难度配比太高或者最近精力状态差。比如某一类题型反复出错我就要审视自己对该知识点的理解是不是有漏洞。数据不会骗人它比“感觉最近还挺努力”靠谱得多。一个简单好用的统计方法是维护一个表格记录日期、题号、题型分类、是否一次AC、错误原因。这样到周末汇总时所有问题一目了然。5.3 一点实在的经验总结刷题这件事归根结底拼的不是智力和天赋而是信息管理能力和情绪调节能力。你会不会从每道题里提取别人看不见的规律你能不能在自己状态崩坏时依然完成最低限度的动作这两个能力比任何奇技淫巧都值钱。关于每日三题的时间安排我最后再分享一个亲测有效的小技巧把最难的那道题放在你一天中精力最好的时段处理。有的人是早晨有的人是下午你自己最清楚。把困难题排在状态最好的时间能极大降低挫败感简单题留在晚上甚至状态差的时候做都可以。这个细节看起来不起眼但长期执行下来整个刷题体验的顺滑度会提升很多。3月6日周四我按计划刷完了127、128、129三题。三道题里有一道写了错误代码然后自己调试出了正确版本有一道看了思路提示才解出来还有一道算是顺利AC。这一天没有任何惊艳的突破但它安安静静地推进了我的能力边界。这大概就是持续刷题最真实的模样。
返回列表