Kacam.net看开网

算法

动态规划:状态定义才是那道坎

「看得懂题解、自己想不出来」,卡的几乎都是这一步。

复制提示词,选一家接着聊 —— 它会当面试官逐幕问你,而不是把答案倒给你。

手机上装了对应 App 的,系统会直接开 App。微信里点不开外部 App,得先用浏览器打开。

复制走的那段末尾带着判卷用的底牌,别自己先读 —— 自己推出来过才算学到。

大家练的是转移方程,但转移是状态的推论:状态定对了转移基本自动,状态定错了怎么凑都凑不出来。所以这一份从头到尾只问状态,一个转移方程都不给你。

有一问是照妖镜:你说「dp[i] 表示前 i 个的最优解」,那么 —— 它必须包含第 i 个吗?两种读法对应完全不同的转移和答案位置,而一多半人从没分清过。

第三幕用环形数组把你的状态打穿,然后逼你说出什么叫「合法的状态」。

★★★★☆ · 约 45 分钟 · 主考:无后效性、状态维度、为什么转移是状态的推论

这一份练的是

状态设计 复杂度

练过没有

登录之后可以记下「这道题我练过」,下次回来看得到是哪天练的。

练过的人写的心得

还没有人写。练完之后,说说你和模型聊出了什么 —— 哪一幕被问住了,哪个结论你后来改了。

登录之后可以写心得。

怎么用

这一批是学习型的:它会引导你,不会追到你说不出话为止。卡住时它先问你卡在哪一层(没听过 / 知道但不明白为什么 / 明白但写不对),再决定给什么;同一个点引导两次还不通才直接讲,讲完要你用自己的话复述一遍。

怎么开始

  1. 挑一份,点开它,把提示词复制走。
  2. 新开一个空对话贴进去,什么都别说,等它问第一个问题。
  3. 手推优先于写代码 —— 它会打断你。在长度 2 的数组上把每一步推一遍,比写十遍模板管用。

中途随时能喊的四个口令

  • 跳过 立刻进下一幕
  • 换个说法 这一处换个角度再讲一遍
  • 直说吧 讲完整答案,然后要我复述
  • 复盘 立刻跳到收尾,输出复盘卡片

三条坑

  • 末尾的底牌别自己先读 —— 那一栏「常见的想错」写的就是每一问的答案。
  • 别急着写代码。算法这一类,写代码是最容易掩盖「其实没想清楚」的动作。
  • 它开始夸你的时候,提醒它看「不许夸我」那条。引导不等于哄。

想不出解法先做「状态定义」;老是错边界做「二分」和「前缀和」;认不出题型做「单调栈」和「滑动窗口」。「复杂度」那份是好几份的地基,早做早受益。