Изменения

Перейти к: навигация, поиск

Алгоритм Мейна-Лоренца

2 байта добавлено, 16:57, 30 апреля 2015
Нет описания правки
=== Нахождение правых повтров ===
Рассмотрим строку <tex>t</tex>, пусть <tex>shift</tex> {{---}} индекс начала <tex>t</tex> в исходной строке <tex>s</tex>.<br>
# Разобьем ее на две строки <tex> u </tex> и <tex> v </tex>. 
# Предподсчитаем следующие массивы c помощью [[Z-функция | Z-функции]]:
## <tex> RP[i] = lcp(v[i \dotsc v.len], \, v) </tex>, то есть наибольший общий префикс строк <tex> v[i \dotsc v.len] </tex> и <tex> v </tex>
=== Нахождение левых повтров ===
Рассмотрим строку <tex>t</tex>, пусть <tex>shift</tex> {{---}} индекс начала <tex>t</tex> в исходной строке <tex>s</tex>.<br>
# Разобьем ее на две строки <tex> u </tex> и <tex> v </tex>. 
# Предподсчитаем следующие массивы с помощью [[Z-функция | Z-функции]]:
## <tex> LP[i] = lcp(u[i \dotsc u.len], \, v) </tex>, то есть наибольший общий префикс строк <tex> u[i \dotsc u.len] </tex> и <tex> v </tex>
102
правки

Навигация