3 дня назад
Основы динамического программирования для решения алгоритмических задач
Динамического программирование (Dynamic Programming, DP) - один из используемых подходов при решении алгоритмических задач. Он эффективен в задачах, где оптимальное решение можно построить из оптимальных решений подзадач. В этой статье мы разберемся, что такое динамическое программирование, как его применять. Динамическое программирование (DP) - это метод оптимизации, при котором сложная задача разбивается на более простые перекрывающиеся подзадачи, и их решения запоминаются, чтобы не пересчитывать их снова...
Задача 329. Лесенка - 2
Рассмотрим простую задачу на динамическое программирование, в которой построение ответа почти в два раза больше, чем само решение. Читаем условие: Задача не является продолжением или вариацией задачи 16. Лесенка, но решать будем тоже с помощью динамики. Считаем входные данные и сразу преобразуем их к числовым типам: Состоянием в динамическом программировании будет номер ступеньки, на которой стоит Вова. Чтобы узнать переходы, надо ответить на вопрос "Как Вова мог здесь оказаться?". Ответ очень простой - или с предыдущей ступеньки или через одну от неё...