Я намагаюся використовувати дерева суфіксів для порівняння послідовностей рядків. Я знайшов реалізацію / теорію для найдовшої поширеної проблеми підрядків із використанням суфіксних дерев. Однак те, що я шукаю, - це обговорення пов’язаної проблеми - "всі загальні підрядки". Зокрема, у мене є проблема, в якій мені потрібно спершу знайти найдовшу загальну підрядку, потім знайти наступну найдовшу загальну підрядку, яка не включає вже знайдені індекси lcs, і так далі до мінімальної довжини. Чи вирішується ця проблема, побудувавши узагальнене дерево суфіксів (GST) лише один раз для двох послідовностей. Я знаю, що це можна вирішити, повторно будуючи GST після кожної ітерації пошуку та видалення LCS. Але мені цікаво, чи пропускаю я акуратний трюк, де в GST будується лише один раз.