Дана строка , А палиндром крышка представляет собой последовательность р 1 р 2 ⋯ р м слов р я такое , что р 1 р 2 ⋯ р м = ш , и так , что каждый р я палиндром ,
Насколько сложно найти размер минимального палиндромного покрытия? (это кажется выполнимым динамическим программированием, но я не уверен, что это работает).
Проблема усложняется, если в качестве входных данных задана также граница для каждой длины палиндрома?
Рассмотрим простой жадный алгоритм, который всегда использует самый длинный палиндром, который начинается с текущего местоположения. Например, если , то будет выведено ( 121 ) ⋅ ( 33 ) ⋅ ( 1 ) ⋅ ( 2 ) , а оптимальное покрытие равно ( 1 ) ⋅ ( 213312 ) .
Предоставляет ли жадный алгоритм 2-аппроксимацию для задачи?