1. Линейная динамика
Одномерные состояния, последовательности, рюкзак, подпоследовательности и восстановление ответа.
Самодостаточный курс из десяти последовательных модулей: короткие тематические уроки с теорией C++20 и сразу прикреплённой практикой из 259 задач — от линейной динамики до оптимизаций, рекуррентностей, mask DP и SOS DP.
Одномерные состояния, последовательности, рюкзак, подпоследовательности и восстановление ответа.
Таблицы, сетки, рюкзаки, строки и состояния на подотрезках.
Родители состояний, лексикографические ответы, слои памяти и сортировка перед динамикой.
Поддеревья, слияние детей, rerooting, маски границы и профильные переходы.
Монотонность оптимума, вычисление слоя разделяйкой и доказательство границ поиска.
Интервальные разбиения, quadrangle inequality, монотонные оптимумы и реализация Кнута.
Прямые в переходах, монотонная оболочка, произвольный порядок и дерево Ли Чао.
Быстрое возведение, полукольца, автоматы, периодические переходы и матрицы на отрезке.
Китамаса, Berlekamp–Massey, производящие функции и Bostan–Mori.
Масочные состояния, подмаски, zeta и Möbius, свёртки, Held–Karp и Steiner DP.