不会的题先说清自己卡在哪——懂了鸭给的解释才落得到实处

文章导读
把「这题不会」换成一句断点描述,是提问里改动最小、回报最直接的一步。判断标准很具体:对方回答里能不能出现你自己写过的那个中间结论,并只补你没走过去的那一步。如果回答仍然从题目定义开始讲起,说明你给出去的信息还停在「不会」这一层,懂了鸭之类的讲解工具也只能按通用路径把整道题铺一遍,听完自然接不上自己的思路。下面按「怎么写、怎么分类、怎么对照、怎么复核、怎么变成习惯」五步给可执行的动作。
📋 目录
  1. 壹 开口前用一句话写清自己已经想到哪一步
  2. 贰 把卡点分成读不懂题、想不到方法、算不下去三类
  3. 叁 用同一道题分别按「不会」和「卡在第二步」提问
  4. 肆 按自己原来的思路把解释重走一遍
  5. 伍 把「下次先说卡点」写进提问前的固定动作
A A

把「这题不会」换成一句断点描述,是提问里改动最小、回报最直接的一步。判断标准很具体:对方回答里能不能出现你自己写过的那个中间结论,并只补你没走过去的那一步。如果回答仍然从题目定义开始讲起,说明你给出去的信息还停在「不会」这一层,懂了鸭之类的讲解工具也只能按通用路径把整道题铺一遍,听完自然接不上自己的思路。下面按「怎么写、怎么分类、怎么对照、怎么复核、怎么变成习惯」五步给可执行的动作。

先说卡点不是礼貌问题,而是决定回答颗粒度的输入条件。给「不会」,只能换回从题目起点开始的通用讲解;给「我推到这里、这一步过不去」,对方才有机会只补那一处。建议每次提问前用一句话交代三件事:已经想到哪一步、在哪一步停住、希望对方先确认什么。这条只在你自己确实动过手时适用;完全没思路时,先要求对方给出题型判断信号,不要硬编一个假断点,否则会把回答引到错误的分支上。

开口前用一句话写清自己已经想到哪一步

同样是问一道题,三种写法的信息量差别很大,可以对照自己平时的习惯挑一种改。

  • 全空型:「这题不会,能讲讲思路吗?」——对方不知道你读过题干没有,只能从题意讲起。
  • 半定位型:「这题为什么用动态规划?」——已经指向方法层,但没交代你自己的想法,对方无法判断你是没认出题型,还是认出来了推不下去。
  • 断点型:「我把爬楼梯理解成每次走一步或两步,写成 f(n)=f(n-1)+f(n-2),初始条件取 f(0)=0、f(1)=1,可 n=2 时算出来是 1,和题面给的例子对不上,我卡在初始条件到底怎么定。」

只有第三种能直接指向断点:它包含已有的中间结论、停住的那一步、以及你自己拿不准的两种解释。验证办法是写完这句先自问一句「如果对方只能回一句话,我最想他回哪句」,答得出来就把那句一起写进提问;答不出来,说明还停在「不会」,需要先动手写两行草稿再问。

把卡点分成读不懂题、想不到方法、算不下去三类

三类卡点对应的求助方向完全不同,混在一起问,回答就会变成大杂烩。提问前先给自己归一次类,归错了就换句式重写。

读不懂题

表现是术语不认识、约束条件读不出边界、输入输出样例看出多种解释。提问句式:「题面里『每次只能走一步或两步』我理解成单次步长上限是 2,但后面那句我不确定是指总步数还是单次步长,帮我确认哪一个是题目本意。」这类适合要求对方先把题意翻译成大白话并列出关键约束,不要一上来就要解法代码。

想不到方法

表现是能写出暴力解,但判断不出这属于哪一类问题、该往哪个方向优化。提问句式:「我能写出两层循环的暴力解,但看不出这题该归到递推还是搜索,你能不能先给我这类题的识别信号,再讲具体做法。」这类适合要求对方先给判定信号(数据规模、是否可拆成子问题、状态怎么描述),确认归类之后再要解法。

算不下去

表现是思路和状态定义都有了,卡在推导、边界或手算对不上。提问句式:「我已经写到 f(n)=f(n-1)+f(n-2),下一步要定初始条件,我取 f(0)=0 之后 n=2 对不上,能不能只讲这一步该取什么、为什么。」这类适合要求对方只定位出错的那一步并给中间结果,而不是整段重讲。

用同一道题分别按「不会」和「卡在第二步」提问

下面是一份对照记录的写法示例,句式可以直接套,内容请在提问后换成自己那次的真实对话原文,贴到笔记里存档,方便下次比对。

不会的题先说清自己卡在哪——懂了鸭给的解释才落得到实处
【提问一】
我:这题不会,讲讲思路吧。
回答一:(从题目背景讲起,介绍整体解法框架、常见变形、注意事项,
        最后给出完整递推式)

【提问二】
我:我把这题理解成每次走一步或两步,写成 f(n)=f(n-1)+f(n-2);
    初始条件我取了 f(0)=0、f(1)=1,可 n=2 时结果是 1,和题面例子对不上,
    卡在初始条件该怎么定。
回答二:(直接指出起点应为 f(1)=1、f(2)=2,f(0) 在这个递推里用不到,
        并说明 n=2 为什么要单独当起点)

对照结论看两点:第一段回答落在「这道题怎么做」的整体框架上,你的中间结论 f(n)=f(n-1)+f(n-2) 没有被回应,需要自己再去对齐;第二段回答落到了「初始条件取值」这一个具体步骤上,从提问里的 f(0)=0 直接改到 f(1)=1、f(2)=2,改完就能接着往下算。把两次回答并排放,能落地的往往是第二段,因为它接的是你已经写出来的东西,而不是另起一条线。

按自己原来的思路把解释重走一遍

拿到解释后不要直接抄答案,用自己原来的解法顺序走一遍,边走边记三个检查点。记录模板如下,写在草稿纸上或提问记录旁边都行。

检查点一 哪一步对上了:
  我的中间结论 f(n)=f(n-1)+f(n-2) → 解释里出现了同一行,对上了
检查点二 哪一步仍然跳步:
  解释里写「n=2 单独当起点即可」,为什么 f(0) 用不到没有展开
检查点三 跳步处怎么追问:
  贴出这两行,说明「从 f(0)=0 到这题不用 f(0) 的推导我补不出来,
  是因为 n=0 在题意里不存在,还是因为递推式从 n=3 才成立」

三个检查点各自的作用不同:第一个确认解释和你的思路是同一条路,不是平行讲解;第二个抓出解释里用「显然」「直接可得」「同理」带过去的地方,这些地方往往就是你下次还会卡的位置;第三个把跳步处变成一次追问,追问时只贴前后两行,不加背景,对方更容易直接补中间过程。重走一遍之后如果三个检查点都过,才算这次解释真正接到了自己的解法上。

把「下次先说卡点」写进提问前的固定动作

方法要变成习惯,靠的是固定句式,不是靠记性。提问框里先敲下面三行,再补问题本身,一般就够用了。

1. 我理解题目要求是 ______,我注意到的约束是 ______。
2. 我做到 ______(写出中间结论或草稿),用的是 ______。
3. 我停在这一步:______;我不确定的是 ______,希望你先确认 ______。

替换项只有三处:第一行的题目理解和约束,第二行的中间结论,第三行的停住位置和期望对方先确认的点。写完读一遍,如果第三行填不出具体动作(比如只能写「就是不会」),说明还缺草稿,先回去写两行再提问。

练习几次之后用三个问题自查:能否用一句话说出自己停在哪一步;对方回答里有没有出现你在第二行写下的中间结论;下次遇到同类题目,那个跳步处能不能自己补上。三个问题里前两个当场就能验证,第三个要等下一次遇到同类题才知道,所以建议把这份记录留着,别提问完就关掉对话。