Я читал, что Самый длинный общий префикс (LCP)можно использовать для определения количества вхождений шаблона в строку.
Конкретно,вам просто нужно создать массив суффиксов текста, отсортировать его, а затем вместо двоичного поиска, чтобы найти диапазон, чтобы вы могли определить количество вхождений, вы просто вычисляете LCP для каждой последующей записи в массиве суффиксов.
Хотя использование бинарного поиска для определения количества вхождений шаблона очевидно, я не могу понять, как LCP помогает найти здесь количество вхождений.
Например, для этого массива суффиксов дляbanana
:
LCP Suffix entry
N/A a
1 ana
3 anana
0 banana
0 na
2 nana
Как LCP помогает найти количество вхождений подстроки, такой как «банан» или «на», для меня не очевидно.
Любая помощь в выяснении того, как здесь помогает LCP?