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 で管理しています。追及が甘い、手の内が一行足りない —— そう思ったら直しに来てください。サイトに載せるかどうかは別の判断で、こちら側の一覧が決めます。