Задача о наибольшей общей подпоследовательности-палиндроме — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
− | '''[[Задача о наибольшей общей подпоследовательности]]''' (англ. ''longest common subsequence (LCS)'') - классическая и хорошо изученная проблема. В данной статье мы рассмотрим её модификацию, где | + | '''[[Задача о наибольшей общей подпоследовательности]]''' (англ. ''longest common subsequence (LCS)'') - классическая и хорошо изученная проблема. В данной статье мы рассмотрим её модификацию, где эта последовательность также должна быть палиндромом. |
{{Определение|definition='''Палиндромом''' (англ. ''palindrom'') называется строка, которая одинаково читается как слева направо, так и справа налево.}} | {{Определение|definition='''Палиндромом''' (англ. ''palindrom'') называется строка, которая одинаково читается как слева направо, так и справа налево.}} | ||
− | '''Наибольшая общая подпоследовательность | + | '''Наибольшая общая подпалиндромная подпоследовательность''' (англ. ''The longest common palindromic sub-sequence (LCPS)'') - задача, являющаяся интересным вариантом классической задачи о поиске наибольшей общей подпоследовательности, которая находит наибольшую общую подпоследовательность среди двух строк так, что она также является палиндромом. |
+ | |||
+ | ==Постановка задачи== | ||
+ | Мы предполагаем конечный алфавит <tex>\sum</tex>. Для строки <tex>X</tex>, мы обознамич его подстроку <tex>x_{i}...x_{j} (1 \leqslant i \leqslant j \leqslant n)</tex> как <tex>X_{i,j}</tex>. Для двух строк <tex>X</tex> и <tex>Y</tex>, если общая подпоследовательность <tex>Z</tex> строк <tex>X</tex> и <tex>Y</tex> является палиндромом, то <tex>Z</tex> называется '''общей подпалиндромной подпоследовательностью''' (англ. ''common palindromicsubsequence''). Общая подпалиндромная последовательность, имеющая максимальную длину, называется '''наибольшей общей подпалиндромной подпоследовательностью''' (англ. ''The longest common palindromic sub-sequence (LCPS)'') и мы обозначим её как <tex>LCPS(X,Y)</tex>. | ||
+ | |||
+ | ==Динамическое программирование== |
Текущая версия на 19:21, 4 сентября 2022
Задача о наибольшей общей подпоследовательности (англ. longest common subsequence (LCS)) - классическая и хорошо изученная проблема. В данной статье мы рассмотрим её модификацию, где эта последовательность также должна быть палиндромом.
Определение: |
Палиндромом (англ. palindrom) называется строка, которая одинаково читается как слева направо, так и справа налево. |
Наибольшая общая подпалиндромная подпоследовательность (англ. The longest common palindromic sub-sequence (LCPS)) - задача, являющаяся интересным вариантом классической задачи о поиске наибольшей общей подпоследовательности, которая находит наибольшую общую подпоследовательность среди двух строк так, что она также является палиндромом.
Постановка задачи
Мы предполагаем конечный алфавит
. Для строки , мы обознамич его подстроку как . Для двух строк и , если общая подпоследовательность строк и является палиндромом, то называется общей подпалиндромной подпоследовательностью (англ. common palindromicsubsequence). Общая подпалиндромная последовательность, имеющая максимальную длину, называется наибольшей общей подпалиндромной подпоследовательностью (англ. The longest common palindromic sub-sequence (LCPS)) и мы обозначим её как .