Border理论

简单的是真简单,难的几乎到天花板。

约定一般n表示原串长度,Σ为字符集。

定义

字符串的一段前缀能和一段后缀完全匹配(非原串),则称这个前缀/后缀为原串的一个Border。

对任意合法isi=si+p,则称p为原串的一个周期。pn时称之整周期。

各种性质

或许叫不上定理,但很有用。

Border和周期

s1p为Border当且仅当|s|p为原串的一个周期。

fail

  • KMP的fail边连起来形成一棵树,这是显然的。这里一个前缀在fail树上对应着一个点。

  • 一个前缀的所有Border在fail树对应着一条根链。两个前缀的最长公共Border就是LCA。

各种定理

不按重要程度排序。当然那几个证明O(logn)的都挺重要的。

定理 1:

原串的最长Border和最长Border的所有Border构成了原串的所有Border。

证明显然。可以证明左包含于右并且右包含于左来证明相等。

原串的所有Border就是{failn,failfailn,}

定理 2:弱周期引理

p,qs的周期,且p+qn,那么gcd(p,q)也是s的周期。

证明用更相减损术。不妨p>q,当ipsi=si+p=si+pq,当iqsi=siq=si+pq。两种情况包含所有i,于是pq也是周期,于是推出gcd(p,q)s的周期。

还有强化版周期引理:若p,qs的周期,且p+qgcd(p,q)n,那么gcd(p,q)也是s的周期。不会证明。

定理 3:

t与周期ast的一段前缀且有周期bba|s|a,那么b也是t的周期。

仔细想想就挺显然的。

定理 4:

一个串用自己的前缀匹配后缀后并起来(有交的部分是一个Border),那么这个并有长度为|s||Border|的周期。

很显然。

定理 5:

如果2|s||t|,那么st中的匹配位置必定为等差数列。

来证明。因为2|s||t|st中的匹配位置一定有交。不妨将t中没有被s的匹配位置覆盖到的地方去掉(肯定是首尾的位置)。

匹配次数2时一定等差,于是来看匹配次数达到3的情况。不妨设前两次差为p,后两次差为q。现在p+q+|s|=|t|,那么p+q|s|,于是r=gcd(p,q)也是s的周期。

s的最小周期为x,那么一定有xrp,否则可以用弱周期引理继续构造更小的周期。

由定理 4和定理 3可知前两次并起来也有最小周期x,并且p=x否则可以有更靠前的匹配。又xrp,于是x=r=p

p=r=gcd(p,q),所以所有匹配的循环节都是重合的,于是t也有x的最小周期。

不难发现匹配位置必为等差序列。

定理 6:

长度n2的Border的长度构成一个等差序列。

来证明。假设有最长Border长度为np,另一个Border长度为nq,那么p,q都为周期,且p+qn。由弱周期引理得gcd(p,q)为周期,于是存在一个Border的长度为ngcd(p,q),并且pgcd(p,q)。所以p=gcd(p,q)pq,这就构成等差了,公差为p

定理 7:

一个串的所有Border按长度排序后可以划分成O(logn)个等差序列。

首先将所有长度n2的Border划分到一个等差序列中。

考虑长度达到n2的最短的BorderT。设最小周期为d,那么讨论:

  • dn4,那么从最长Border不断减去d得到T,此时|T|34n

  • d>n4,那么最长Border的长度34n

由定理 1,可知剩下的原串的Border都是T的Border,于是问题规模缩减到了原来的34。所以是O(logn)

一个更紧的上界是log2n

从过程中可以看到公差成倍增长,于是有推论:公差d的Border等差序列的总大小是O(nd)的。

Significant suffix

定义minsuf表示最小后缀,ssuf是在原串后面接上一个串后可能成为最小后缀的后缀集合。

定理 8:

对于任意两个ssuf U,V|U|<|V|UV的前缀。

如果U不是V的前缀,那么UTVT的大小关系只会由U,V的大小关系决定,二者只有其一是ssuf,矛盾。得证。

这样U还是V的Border。

定理 9:

如果有两个ssufUV,满足|U|<|V|,那么2|U|<|V|

假设|U|<|V|<2|U|,由定理 8知UV的Border。于是V有长度为|V||U|的周期。

设周期为T|T|=|V||U|,那么设U=TCV=TTC

假设在原串后加上字符串R,若UR>VR那么U不会是minsuf。若UR<VR,那么TCR<TTCRCR<TCR=UR,注意到C也是后缀,所以U不会是minsuf。综上U不会是ssuf,这与假设矛盾。得证。

推论:|ssuf(s)|=O(log|s|)

posted @   RandomShuffle  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示