Kacam.net

Увидеть мир

Алгоритмы: по одному приёму за раз

Не «сортировки» и не «динамическое программирование», а «граница в бинарном поиске», «как задать состояние в ДП», «этот повтор — на том же уровне или на той же ветке». Одна карточка копает одно место, пока вы не сможете объяснить почему.

Пока эти заготовки есть только на 简体中文.

Как этим пользоваться

Эта серия учит, а не допрашивает: она ведёт, а не давит, пока вам нечего станет сказать. Когда вы застряли, она сначала спрашивает, на каком уровне (не слышал / знаю, но не понимаю почему / понимаю, но не могу написать), и только потом решает, что дать. Прямой ответ она даёт лишь после двух попыток вас подвести — и затем просит пересказать своими словами.

С чего начать

  1. Выберите одну, откройте, скопируйте промпт.
  2. Вставьте в совершенно новый пустой диалог, ничего не говорите и ждите первого вопроса.
  3. Сначала разберите руками, потом пишите код — она вас остановит. Пройти массив длины 2 по шагам полезнее, чем десять раз написать шаблон.

Четыре команды, которые можно бросить в любой момент

  • 跳过 сразу к следующей сцене
  • 换个说法 объяснить это место под другим углом
  • 直说吧 дать полный ответ, а потом заставить меня пересказать
  • 复盘 перейти к финалу и выдать карточку разбора

Три ловушки

  • Не читайте ответы в конце заранее — раздел «как обычно ошибаются» и есть ответ на каждый вопрос.
  • Не бросайтесь писать код. В алгоритмах именно написание кода лучше всего прячет то, что вы ещё не продумали.
  • Когда начнёт вас хвалить, напомните про правило «не хвали меня». Вести — не значит нянчить.

Не придумывается решение — начните с определения состояния. Всё время путаете границы — бинарный поиск и префиксные суммы. Не узнаёте форму задачи — монотонный стек и скользящее окно. Карточка про сложность лежит в основе нескольких других: сделайте её пораньше.

Основы

同样是 O(n log n),为什么快排更快
快排和堆排都是 O(n log n),实测差两三倍。差在哪?
★★★★☆ · около 40 мин

Структуры данных

求第 k 大,为什么用小顶堆
求最大的 100 个,用小顶堆 —— 方向是反的,为什么?
★★★☆☆ · около 30 мин
并查集:两个优化各省了什么
十行代码,但去掉按秩合并会退化成什么,你说得出吗?
★★★☆☆ · около 30 мин

Парадигмы

动态规划:状态定义才是那道坎
「看得懂题解、自己想不出来」,卡的几乎都是这一步。
★★★★☆ · около 45 мин
回溯去重:同层还是同枝
去重条件里那个感叹号,为什么在那儿?
★★★★☆ · около 35 мин
Эти промпты с открытым исходным кодом Тексты живут в публичном репозитории kacam-net/hero-prompts. Если какой-то давит недостаточно или в его карты на руках не дописана строка — идите и правьте. Появится ли он на сайте, решает отдельно список на этой стороне.