Суф.массив
- Построение за O(N2logN) = тупо sort
- Сравнение строчек hash-ами на больше меньше за O(logN) бинпоиском
- Построение за O(Nlog2N) = тупо sort с тупо hash-ами
- LCP за O(NlogN) хэшами
- Оптимизация
- MergeSort
- Сравнение хэшами на равенство с малым числом умножений
- Хэш = int
Суф. дерево
- Сжатый бор.
Практика
- timus : 1590 (Число различных подстрок, N=5000, напишите сжатым бором) (код от Burunduk1)
- timus : 1393 (Напишите суф. массив)