Sto cercando di usare gli alberi dei suffissi per confrontare le sequenze di stringhe. Ho trovato implementazioni / teoria per il più lungo problema di sottostringa comune usando alberi di suffissi. Tuttavia, quello che sto cercando è una discussione del problema correlato - "tutte le sottostringhe comuni". In particolare, ho un problema in cui devo prima trovare la sottostringa comune più lunga, quindi trovare la sottostringa comune più lunga successiva che non include gli indici lcs già trovati e così via fino a una lunghezza minima. Questo problema è risolvibile costruendo l'albero dei suffissi generalizzati (GST) solo una volta per le due sequenze. So che può essere risolto costruendo ripetutamente un GST dopo ogni iterazione di ricerca e rimozione di LCS. Ma mi chiedo se mi manca un trucco preciso in cui nel GST è costruito solo una volta.