1

Тема: Суффиксный массив

второй блок кода
написано cnt[maxlen]
должно быть cnt[alphabet]

2

Re: Суффиксный массив

смотри ниже. Там cnt используется и для других целей.

3

Re: Суффиксный массив

реализация LCP
написано:
for (int i=0; i<n; ++i)
        rpos[p[ i]] = i;
    for (int i=n-1; i>=0; --i)
        lpos[p[ i]] = i;
должно быть:
for (int i=0; i<n; ++i)
        rpos[c[p[ i]]] = i;
    for (int i=n-1; i>=0; --i)
        lpos[c[p[ i]]] = i;

4

Re: Суффиксный массив

Да, кажется, это правильные исправления, хотя я не проверял на тестах...