Próbuję użyć drzewa sufiksów do porównania sekwencji ciągów. Znalazłem implementacje / teorię najdłuższego wspólnego problemu podciągów przy użyciu drzewek sufiksów. Jednak to, czego szukam, to omówienie powiązanego problemu - „wszystkich typowych podciągów”. W szczególności mam problem, w którym muszę najpierw znaleźć najdłuższy wspólny podciąg, a następnie znaleźć następny najdłuższy wspólny podciąg, który nie zawiera już znalezionych indeksów lcs, i tak dalej, aż do minimalnej długości. Czy ten problem można rozwiązać, budując uogólnione drzewo sufiksów (GST) tylko raz dla dwóch sekwencji. Wiem, że można to rozwiązać poprzez wielokrotne konstruowanie GST po każdej iteracji znalezienia i usunięcia LCS. Zastanawiam się jednak, czy brakuje mi zgrabnej sztuczki, w której GST jest budowany tylko raz.