Вход в систему [2025/26, 9-профиль, Оптимизации динамического программирования]
logo




Общая информация по задачам

Во всех заданиях необходимо вывести остаток от деления количества искомых последовательностей на число \(10^9+7\).

В некоторых задачах установлено небольшое ограничение по памяти (например, 8 MiB). В этих задачах нужно написать решение, не хранящее все вычисленные значения функции динамического программирования. Необходимо хранить только последний вычисленный слой и новый слой значений функции, то есть вместо (например) двумерного массива нужно хранить два одномерных массива, в которых будут храниться значения функции для \(n=i\) и вычисляться новые значения функции для \(n = i + 1\). Это можно сделать используя два вектора и меняя их значения местами при помощи функции swap.

В случае превышения лимита по памяти решение может получать статус «Ошибка исполнения» на тесте.