Динамика и монеты


опубликовано на 25 Март 2026, 5:48 п.п.

На эту неделю у нас практика к теории «Задача о монетах».

Это одна из самых базовых и важных тем в динамическом программировании: здесь хорошо видно, как формулируются состояния, как строятся переходы и как одна и та же идея может использоваться и для поиска оптимального ответа, и для подсчёта количества способов.

Теория:

Практика к теме:

Эта подборка подойдёт тем, кто хочет не просто прочитать теорию, а сразу закрепить её на задачах. Во всех этих задачах полезно обращать внимание на одно и то же:

  • что именно является состоянием динамики;
  • как выразить ответ через более маленькие состояния;
  • в каком порядке удобно считать значения;
  • что именно хранить в массиве: минимум, количество способов или другой параметр.

Рекомендую идти именно в таком порядке: сначала внимательно прочитать теорию, затем попробовать самостоятельно выписать идею перехода для каждой задачи, и только после этого писать код. Такой подход помогает не просто решить конкретную задачу, а действительно почувствовать, как работает динамическое программирование.

Если в какой-то задаче не получается сразу увидеть решение — это нормально. На таких задачах как раз и формируется навык: выделять состояние, замечать повторяющиеся подзадачи и превращать рекурсивную идею в табличную динамику.

Удачи в решении!

Жду ваши результаты, вопросы и впечатления от задач.


Комментарии

Еще нет ни одного комментария.