Я пытаюсь использовать деревья суффиксов для сравнения последовательностей строк. Я нашел реализации / теорию для самой длинной общей проблемы подстроки, используя деревья суффиксов. Однако, то, что я ищу, является обсуждением связанной проблемы - "все общие подстроки". В частности, у меня есть проблема, в которой мне нужно сначала найти самую длинную общую подстроку, затем найти следующую самую длинную общую подстроку, которая не включает в себя уже найденные индексы lcs, и так далее до минимальной длины. Решается ли эта проблема путем построения Обобщенного дерева суффиксов (GST) только один раз для двух последовательностей. Я знаю, что это можно решить путем многократного построения GST после каждой итерации поиска и удаления LCS. Но мне интересно, если я упускаю изящный трюк, где в GST построен только один раз.