Ответ 1
Проверьте этот сайт: Проблемы с динамическим программированием
Я ищу удобный для понимания пример для тех, кто хочет изучить динамическое программирование. Здесь есть приятные ответы о том, что такое динамическое программирование. Пример фибоначчи - отличный пример, но он слишком мал, чтобы поцарапать поверхность. Мне очень интересно узнать, хотя я еще не взял класс алгоритмов, надеюсь, что это в моем списке для spring.
Проверьте этот сайт: Проблемы с динамическим программированием
Вот хороший учебник, содержащий 29 проблем с разрешением DP с большим объяснением.
Идея динамического программирования заключается в том, что вы выполняете кэширование (memoizing) решений подзадач, хотя я думаю, что там больше, чем это.
Существует множество проблем с застреванием в Google Code, так что решения требуют динамического программирования. Примеры:
Добро пожаловать в замятие кода (умеренный)
Обман булевского дерева (умеренный)
Обратите внимание, что в каждом из конкурсов по борьбе с пробкой кода есть раздел "Анализ конкурса", если вы пытаетесь решить проблему.
Расчет расстояний Левенштейна был одной из первых проблем, которые я решил с динамическим программированием; Я думаю, что это достойный следующий шаг от последовательности Фибоначчи с точки зрения сложности.