[题解] P3526 [POI 2011] OKR-Periodicity
Yansuan_HCl · · 题解
记号
用大写表示串,小写表示串的长度。用希腊字母表示周期,以示区分。
Border 与周期互化
若串
弱周期引理
若串
证明:由周期关系有
s_i=s_{i\bmod \pi}=s_{i\bmod \chi} ,由裴蜀定理,仅当s 存在周期\gcd(\pi, \chi) 时能满足条件。
分类讨论
记
\Alpha 完整出现至少两次
由周期性,我们希望仅通过求
设
-
-
- 若 $S$ 有 border $p$,则 $f(S)$ 有 border $p$。$S$ 有对应周期 $\pi = n-p$,由 $\beta$ 是 $S$ 最小周期可知 $\beta \mid \pi$;$f(S)$ 也有周期 $\beta$,得证。 - 若 $f(S)$ 有 border $p$,则 $S$ 有 border $p$。$f(S)$ 有对应周期 $\pi = n-p < n-\beta+\beta'$。反证:若 $\beta \nmid \pi$,则存在周期 $\theta = \gcd(\beta, \pi)<\beta$;此时 $\theta$ 是 $\Beta$ 的周期,与 $\Beta\Beta'$ 最小周期为 $\Beta$ 矛盾。
\Alpha 完整出现不超过一次
此时再递归
但是这样可能引入
设
- 若
\sigma \le x ,则BY 为全 0 串;此时将Y 换成Z 一定合法。
此时
反证:设
- 若
e < a+x ,则前后e 个字符中 1 的数量不同,不合法。 - 否则
e\ge a+x 。BZB 有周期\epsilon=n-e \le \alpha-x<\alpha ,可推出有周期\theta=\gcd(\alpha, \epsilon) <\epsilon 。- 当
\epsilon < a-d ,即e > a+x+d 时: -
- 且
\theta \le \epsilon < a-d = k\sigma 。 - 若
\sigma \nmid \theta ,则(BY)^k 有周期\gcd(\sigma, \theta) < \sigma ,矛盾。 - 因此,
\theta = k'\sigma \le k\sigma ,BZB 有循环节(DY)^{k'} ,可推出DY=DZ ,矛盾。 - 当
\epsilon \ge a-d ,即e \le a+x+d 时: - 取出
E 长为\sigma 的后缀F ,则F=D[e-(a+x),d)ZD[0,e-(a+x)) ;由 border,F=(BZB)[n-\sigma, n)=YD 。F 与YD 间 1 的数量不同,矛盾。
- 当
故得证。
每次递归规模减少到不超过