Как найти самую длинную общую подстроку с помощью C++

Я искал в Интернете реализацию C++ Longest Common Substring, но не смог найти достойного. Мне нужен алгоритм LCS, который возвращает саму подстроку, так что это не просто LCS.

Однако мне было интересно, как я могу сделать это между несколькими строками.

Моя идея состояла в том, чтобы проверить самую длинную строку между двумя строками, а затем проверить все остальные, но это очень медленный процесс, требующий управления множеством длинных строк в памяти, что делает мою программу довольно медленной.

Есть идеи, как это можно ускорить для нескольких строк? Спасибо.

Важное редактирование Одна из переменных, которые мне даны, определяет количество строк, в которых должна быть самая длинная общая подстрока, поэтому мне можно дать 10 строк и найти LCS для всех (K=10 )или LCS для 4 из них, но мне не сказали какие 4, я должен найти 4 лучших.

17
задан chema989 26 July 2016 в 22:09
поделиться