Задачи на динамику (8 октября 2015)
- Динамика: общие идеи
- Калькулятор.Easy: x → x+1, 2x, 3x; n ≤ 106.
- Калькулятор.Hard: x → 2x, 2x+1, 3x, 3x+1, ; n ≤ 1018.
- Динамика вперед, назад, рекурсивно-ленивая (на примере задачи про калькулятор)
- Динамика и ацикличный граф: состояния, переходы, вперед, назад, ленивая
- Восстановление ответа: храним ссылки
- Задачи
- Количество способов дойти из 1 в N, используя ходы на плюс 1..k
- Максимальный по сумму чисел лево-верхний путь в матрице c дыркой
- Задача Иосифа (n людей по кругу, выходит каждый k-й, кто остался?)
- Есть одна кучка. Двое играют в игру "первый может брать a1, a2, ... ak, второй может брать b1, ... bm", кто не может ходить проиграл
- Рюкзак без стоимостей: решение за O(nW) времени, O(W) памяти, с восстановлением ответа.
- Рюкзак без стоимостей + bitset, решение за O(nW / wordlen)
- Выбрать самую длинную подпоследовательность-палиндром O(n2)
- Наибольшая общая возрастающая подпоследовательность
- Folding: запаковать строку timus : 1238