Изменения

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

Период и бордер, их связь

331 байт добавлено, 10:07, 8 мая 2014
Переделывание доказательства про НОД
Утверждение доказано.
}}
 
{{Лемма
|about=1
|statement= Пусть строка <tex> w </tex> имеет периоды <tex> p </tex> и <tex> q </tex>, причём <tex> p < q \leqslant |w| </tex>. Тогда суффикс и префикс <tex> w </tex> длины <tex> |w| - q </tex> имеют период <tex> p - q </tex>.
|proof= Покажем истинность утверждения про префикс; с суффиксом доказательство аналогичное.
 
Требуется показать что <tex> s_i = s_{i+p-q} \ \ (i = 1,\dots,n-p) </tex>
 
Поскольку <tex> w </tex> имеет период <tex> p </tex>, выполнено <tex> s_i = s_{i+p} </tex>
Также <tex> w </tex> имеет период <tex> q </tex> и из ограничений на <tex> i </tex> верно <tex> 1 \leqslant i + p - q \leqslant n - q </tex>, поэтому <tex> s_{i+p-q} = s_{i+p} </tex>
}}
 
{{Лемма
|about=2
|statement= Пусть строка <tex> w </tex> имеет период <tex> q </tex>, и существует <tex> v </tex> подстрока <tex> w </tex> такая, что <tex> |v| \geqslant q </tex> и <tex> v </tex> имеет период <tex> r </tex>, где <tex> r | q </tex>. Тогда <tex> w </tex> имеет период <tex> r </tex>.
|proof= Пусть <tex> w = s_1 \dots s_n,\ v = s_h \dots s_k </tex>, где <tex> 1 \leqslant h < k \leqslant n </tex>.
 
Требуется показать: <tex> a_i = a_j \ (j = i + r,\ 1 \leqslant i, j \leqslant n) </tex>.
 
Заметим, что поскольку <tex> |v| \geqslant q </tex>, то отрезок <tex> [h, k] </tex> содержит по меньшей мере <tex> q </tex> целых чисел, поэтому найдутся <tex> i' </tex> и <tex> j' </tex> такие, что <tex> i \equiv i' \pmod q,\ j \equiv j' \pmod q </tex>.
}}
 
{{Теорема
|statement= Если у строки длины <tex>n</tex> есть периоды <tex>p</tex> и <tex>q</tex>, где <tex>p + q - НОД(p, q) \leqslant n</tex>, то НОД<tex>(p, q)</tex> также является периодом этой строки.|author=Фин и Вильф
|proof=
Для удобства доказательства допишем перед строкой её копию и будем нумеровать символы новой строки не с <tex>1</tex> до <tex>2n</tex>, а с <tex>-n + 1</tex> до <tex>n</tex>. Назовём полученную строку <tex>\alpha</tex>.<br/>Доказательство будем вести по индукции по парам <tex>(p, q)</tex>, где <tex> p \geqslant q </tex>, а <tex>(p, q) + 1 = \begin{cases} (p, q + 1), & q < p;\\(p + 1, 1), & q = p.\end{cases}</tex><br/><ol><li>Для <tex> (1, 1) </tex> утверждение очевидно.</li><li>Пусть верно для всех пар меньших <tex>(p, q)</tex>.</li><li>Докажем, что верно для <tex>(p, q)</tex>.<br/> Из определения периода:<br/><ul><tex>\forall i = -n + 1 \ldots n - p</tex>, <tex>\alpha [i] = \alpha[i + p] = \alpha[i + q]</tex>.</ul>Значит <ul><tex>\forall i = 1 - q \ldots n - p</tex>, <tex>\alpha [i + q] = \alpha[i + p]</tex></ul>Сделаем замену <tex>j = i + q</tex> и получим, что<br/><ul><tex>\forall j = 1 \ldots n - (p - q)</tex>, <tex>\alpha [j] = \alpha[j + (p - q)]</tex></ul>Получили новый период длины <tex>p - q</tex>. Из предположения известно, что НОД<tex>(p - q, q)</tex> {{---}} период строки, но НОД<tex>(p - q, q)</tex><tex>=</tex>НОД<tex>(p, q)</tex>.</li></ol>Следовательно утверждение доказано.
}}
308
правок

Навигация