Алгоритмы с нуля
Инструментарий: свободное припоминание
Распознавание паттернов закрепляется, только когда ты можешь выдать дерево решений по памяти под давлением. На каждый вопрос проговори или запиши всё рассуждение — от подсказки в задаче к технике и её цене — прежде чем открыть модельный ответ.
Восстанови логику выбора всего трека, не подглядывая: как читать ограничения в бюджет сложности, какие глаголы задачи отображаются на какое семейство техник и почему соблазнительная альтернатива — ловушка.
- 01Как превратить ограничение на размер входа в бюджет сложности до выбора техники?
- 02Сопоставь каждый глагол задачи семейству техник: 'существует ли X / посчитать различные', 'k-й наименьший / следующий по приоритету', 'число способов или оптимизация по перекрывающимся подзадачам', 'лучший локальный выбор, который можно обосновать'.
- 03Когда появляется отсортированный вход, какие две техники он открывает и как выбрать между ними?
- 04Различи, когда графовая задача требует BFS, Дейкстры, топологической сортировки или Union-Find.
- 05Почему распознавание перекрывающихся подзадач — переломный момент в решении задач, и каковы три реакции на него?
- 06Приведи полный поток решений с вершины дерева, который ты запускаешь на новой задаче.
Если ты смог восстановить каждый ответ без подсказок, ты держишь хребет трека: ограничения становятся бюджетом сложности, глагол задачи называет семейство техники, отсортированный вход открывает бинарный поиск или two pointers, графовый вариант выбирает BFS / Дейкстру / топосортировку / Union-Find, а замеченные перекрывающиеся подзадачи — переход от экспоненты к полиному. Инструментарий — это один поток решений, прогнанный быстро: бюджет, глагол, структура, проверка подзадач, структура данных, сверка — а не куча заученных алгоритмов.