Kacam.net看开网

看见世界

算法:一次只钻一个技巧

不是「排序算法」「动态规划」,而是「二分的边界」「DP 的状态定义」「回溯去重是同层还是同枝」——一份只钻一处,钻到你说得出为什么。

怎么用

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

怎么开始

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

中途随时能喊的四个口令

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

三条坑

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

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

基本功

二分的边界
会写,但老是错边界 —— 因为你没说清自己维护的是哪个不变量。
★★★☆☆ · 约 35 分钟
滑动窗口什么时候不能滑
数组里有负数,你那个滑动窗口就错了 —— 说得出为什么吗?
★★★☆☆ · 约 35 分钟
同样是 O(n log n),为什么快排更快
快排和堆排都是 O(n log n),实测差两三倍。差在哪?
★★★★☆ · 约 40 分钟

数据结构

单调栈:什么形状的题会塌成它
模板八行,难的是看见一道新题认出它是这个形状。
★★★☆☆ · 约 35 分钟
求第 k 大,为什么用小顶堆
求最大的 100 个,用小顶堆 —— 方向是反的,为什么?
★★★☆☆ · 约 30 分钟
并查集:两个优化各省了什么
十行代码,但去掉按秩合并会退化成什么,你说得出吗?
★★★☆☆ · 约 30 分钟
前缀和能用的前提是可逆
区间和能用它,区间最大值不能 —— 那条界线在哪?
★★★☆☆ · 约 30 分钟

设计范式

动态规划:状态定义才是那道坎
「看得懂题解、自己想不出来」,卡的几乎都是这一步。
★★★★☆ · 约 45 分钟
贪心:过了样例不等于对
唯一一类跑过样例仍然可能彻底错的算法。
★★★★☆ · 约 35 分钟
回溯去重:同层还是同枝
去重条件里那个感叹号,为什么在那儿?
★★★★☆ · 约 35 分钟
这些提示词是开源的 正文在 kacam-net/hero-prompts 这个公开仓库里维护。觉得哪一份问得不够狠、底牌漏了一条,欢迎去改 —— 站上要不要上架是另一回事,由这边的清单说了算。