保存帖子
发现
索引
热门
陶片放逐
关于
为什么要hash才能KMP
板块
P10475 [USACO03FALL] Milking Grid(数据加强版)
楼主
Schrochanshun
当前回复
0
已保存回复
0
发布时间
2025/2/5 17:48
上次更新
2025/2/5 17:51:05
查看原帖
更新帖子
被骇客
银
狼
阻止的越权访问
保存失败
为什么要hash才能KMP
Schrochanshun
楼主
2025/2/5 17:48
如果用
每一行最小循环节长度
的
lcm
与
每一列最小循环节长度
的
lcm
相乘求解,就看看以下数据
A
A
A
A
B
A
A
A
A
A
B
A
A
A
AAAABAA \\ AAABAAA
AAAA
B
AA
AAA
B
AAA
你会发现
存在
某一个数(
5
5
5
)小于
当前每一行
中
最小循环节长度
构成的
lcm
(
5
×
4
=
20
5\times 4=20
5
×
4
=
20
),这个数可以作为
所有列
在
横向方向
上的最小循环节长度,最后答案是
5
×
2
=
10
5\times 2=10
5
×
2
=
10
通常情况中的KMP,只是求得一行/一列的字符串的最小循环节长度。为了考虑到所有行/列,把字符串的每一列映射成一个数字,可以保证求得
所有列
在
横向方向
上的最小循环节长度。同理再去求
所有行
在
纵向方向
上的最小循环节长度,然后两者相乘得解。
2025/2/5 17:48
加载中...