Estou tentando usar árvores de sufixo para comparar seqüências de caracteres. Eu encontrei implementações / teoria para o maior problema de sub-string comum usando árvores de sufixo. No entanto, o que estou procurando é uma discussão sobre o problema relacionado - "todas as substrings comuns". Especificamente, tenho um problema no qual preciso primeiro encontrar a substring comum mais longa, depois encontrar a próxima substring comum mais longa que não inclua os índices lcs já encontrados e assim por diante até um comprimento mínimo. Esse problema é solucionável através da construção da árvore de sufixos generalizados (GST) apenas uma vez para as duas seqüências. Eu sei que isso pode ser resolvido através da construção repetida de um GST após cada iteração de localização e remoção do LCS. Mas, eu estou querendo saber se estou faltando um truque puro onde no GST é construído apenas uma vez.