并非弦论
Definitions
下文中,字符串的下标从 \(1\) 开始。
对于长度为 \(n\) 的字符串 \(s\),取其第 \(l\) 个字符到第 \(r\) 个字符构成的子串记为 \(s:[l,r]\)。
对于长度为 \(n\) 的字符串 \(s\),若 \(s:[1,p]=s:[n-p+1,n]\),则 \(s:[1,p]\) 称为 \(s\) 的 Border。特别的,在这里 \(p\) 不应该为 \(n\)。
对于长度为 \(n\) 的字符串 \(s\),若对于所有 \(i\) 均满足 \(s_i = s_{i+p}\),则 \(p\) 为 \(s\) 的周期。若 \(p=n\),则该周期是平凡的,下文中不考虑。
对于长度为 \(n\) 的字符串 \(s\),若其周期 \(p\) 满足 \(p \mid n\),则 \(p\) 为 \(s\) 的整周期。
Theorem 1
长度为 \(n\) 的字符串 \(s\) 具有周期 \(p\),等价于 \(s\) 具有 Border \(s:[1,n-p]\)。
由定义可知,两者均等价于对于所有 \(i \in [1,n-p]\),有 \(s_i = s_{i+p}\)。
Theorem 2
长度为 \(n\) 的字符串 \(s\) 具有周期 \(p,q\),且 \(p+q \leq n\),则 \(s\) 具有周期 \(\gcd(p,q)\),这被称作弱周期引理。
长度为 \(n\) 的字符串 \(s\) 具有周期 \(p,q\),且 \(p+q-\gcd(p,q) \leq n\),则 \(s\) 具有周期 \(\gcd(p,q)\),这被称作强周期引理。
给出弱周期引理的证明,这里我们不妨设 \(p \geq q\)。
对于 \(i > q\),\(s_i = s_{i-q} = s_{i+p-q}\)。
对于 \(i \leq q\),\(s_i = s_{i+p} = s_{i+p-q}\)。
也就是说 \(p-q\) 也是 \(s\) 的周期,不断辗转相减即可得到 \(\gcd(p,q)\)。
注意到过程中 \(p+q\) 会一直变小,\(i \leq q\) 部分的证明说明了为何需要 \(p+q \leq n\)。
Theorem 3
咕咕咕。

浙公网安备 33010602011771号