定义
我们定义, 一个字符串
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|}
log2∣S∣段,每一段是
k
k
k的等差数列
引理 1:若存在一个
b
o
r
d
e
r
border
border
S
k
S_k
Sk:那么
∣
S
∣
−
k
|S|-k
∣S∣−k为字符串的一个周期。
引理 2:若
p
,
q
p,q
p,q为字符串的周期且
p
+
q
≤
∣
S
∣
−
g
c
d
(
p
,
q
)
p+q≤∣S∣−gcd(p,q)
p+q≤∣S∣−gcd(p,q)也为字符串的周期。
应用
可以看看这个题:题目链接
【字符串】字符串的boder和其性质、应用
最新推荐文章于 2024-02-04 22:36:00 发布