Содержание
- 2. Рейтинг за домашнюю работу
- 3. Динамическое программирование — это когда у нас есть задача, которую непонятно как решать, и мы разбиваем
- 4. Задача про черепашку Есть клетчатое поле NхM. В левом верхнем углу сидит черепашка. Она умеет ходить
- 5. Первая основная идея ДП Будем искать ответ не только на нашу общую задачу, но и на
- 6. А что дальше? Ответ для верхнего левого угла очевиден. У нас только один способ до него
- 7. Вторая основная идея ДП Решая задачу для очередной клетки, будем считать, что мы уже знаем ответ
- 8. А как мы можем попасть в очередную клетку? Всё очевидно! Мы можем прийти в неё либо
- 10. Б) Пусть в каждой клетке поля записано некоторое число. Требуется найти максимальную сумму чисел, которую можно
- 12. В результате получим такую таблицу:
- 13. Последовательность из нулей и единиц без двух единиц подряд.
- 14. dp[i][j] – ответ для последовательности длины i, оканчивающейся на j dp[1][0] = dp[1][1] = 1; dp[i][0]
- 15. Немного теории Определения: Состояние – это набор параметров, с помощью которых мы фиксируем подзадачу Переходы –
- 16. Чтобы успешно решить задачу динамикой нужно ответить на следующие вопросы: 1) Что мы вычисляем? 2) Какие
- 17. Порядок пересчёта Существует три порядка пересчёта: Прямой Состояния последовательно пересчитываются исходя из уже посчитанных.
- 18. 2) Обратный Обновляются все состояния, зависящие от текущего состояния
- 19. 3) Ленивая динамика Рекурсивная функция пересчёта динамики. Это что-то вроде поиска в глубину по ацикличному графу
- 20. Классы задач на ДП Подсчёт объектов, в том числе определение существования объекта. Т.е. надо посчитать, сколько
- 21. Виды задач на ДП Линейное ДП Многомерное ДП ДП на подотрезках ДП по полной сумме ДП
- 22. Отдельно рассмотрим семейство задач о рюкзаке
- 24. Решение методом динамического программирования Пусть dp[i][j] – есть максимальная стоимость предметов , которое можно уложить в
- 25. Пример W = 13, N = 5 w1 = 3, p1 = 1 w2 = 4,
- 26. Другие задачи семейства Ограниченный рюкзак - обобщение классической задачи, когда любой предмет может быть взят некоторое
- 27. Решение методом ДП
- 28. Неограниченный рюкзак - обобщение ограниченного рюкзака, в котором любой предмет может быть выбран любое количество раз.
- 29. Пусть dp[i][j] – есть максимальная стоимость предметов , которое можно уложить в рюкзак вместимости j, если
- 30. Непрерывный рюкзак - вариант задачи, в котором возможно брать любою дробную часть от предмета, при этом
- 33. Скачать презентацию