【字符串】字符串的boder和其性质、应用

定义
我们定义, 一个字符串 s s s, 它的 b o r d e r border border是"既是它的前缀又是它的后缀", 且不等于 s s s本身的串.
b o r d e r border border是所有 b o r d e r border border中的最长者.
显然,每个border 其实是KMP算法中, 字符串S的next数组。
性质
S k S_k Sk S 1... k S_{1...k} S1...k是字符串 S S S的一个 b o d e r boder boder,那么这些 b o r d e r border border可以划分成不超过 l o g 2 ∣ S ∣ log_2{|S|} log2S段,每一段是 k k k的等差数列
引理 1:若存在一个 b o r d e r border border S k S_k Sk:那么 ∣ S ∣ − k |S|-k Sk为字符串的一个周期。
引理 2:若 p , q p,q p,q为字符串的周期且 p + q ≤ ∣ S ∣ − g c d ( p , q ) p+q≤∣S∣−gcd(p,q) p+qSgcd(p,q)也为字符串的周期。
应用
可以看看这个题:题目链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值