Estoy tratando de usar árboles de sufijos para comparar secuencias de cadenas. He encontrado implementaciones / teoría para el problema de subcadena común más largo usando árboles de sufijos. Sin embargo, lo que estoy buscando es una discusión del problema relacionado: "todas las subcadenas comunes". Específicamente, tengo un problema en el que primero necesito encontrar la subcadena común más larga, luego encontrar la siguiente subcadena común más larga que no incluya los índices lcs ya encontrados, y así sucesivamente hasta una longitud mínima. ¿Se puede resolver este problema construyendo el árbol de sufijos generalizados (GST) solo una vez para las dos secuencias? Sé que se puede resolver construyendo repetidamente un GST después de cada iteración de encontrar y eliminar el LCS. Pero, me pregunto si me estoy perdiendo un buen truco en el que el GST se construye solo una vez.