Задача №1124. Максимальный подпалиндром
Разбор добавил Виталий Павленко
Метод решения этой задачи, который я опишу, также называют LR-динамикой, а метод исполнения решения называют ленивой динамикой.Дана строка S. Будем для каждой подстроки S c l-го по r-й элемент насчитывать матрицу d[l,r] максимальных подпалиндромов. Инициализация: заполним матрицу пустыми строками. Затем для всех элементов, для которых l = r, максимальный подпалиндром установим равным S[l].
Рекуррентное соотношение: в d[l,r] присвоим либо d[l,r-1], либо d[l+1,r], либо при S[l]=S[r] присвоим S[l]+d[l+1,r-1]+S[r] (выбираем из этих вариантов подпалиндром максимальной длины). Опишем это соотношение в рекурсивной функции rec(l, r) и вызовем её с параметрами rec(1, N).
Чтобы не считать лишнего, надо не забывать в теле рекурсивной функции проверять, не посчитали ли мы уже это значение, и сохранять посчитанное.
В заданной строке требуется удалить минимальное количество символов, чтобы оставшаяся строка являлась палиндромом.
Сдать: для сдачи задач необходимо войти в систему
1962
statement