-
KMP-(HDU1358)Period
-
题目链接:9:前缀中的周期
-
KMP基础:
给个传送门复习下KMP:串的模式匹配算法-KMP算法
-
思路:
给定Next[i],Next[i]指向的总是上一循环节后面的一个字符,所以上一循环节末尾为Next[i]-1
当前循环节的末尾为i-1,易得当前循环节长度:(i-1)-(Next[i]-1)=i-Next[i]
由题意已经假设0~i-1的串是循环的
本文介绍了如何利用KMP算法解决HDU1358问题,探讨了通过Next数组确定字符串循环节的方法。当满足条件i % (i - Next[i]) == 0 && Next[i] != 0时,可以找到当前循环节,其长度为i - Next[i],循环次数为i / (i - Next[i])。
给个传送门复习下KMP:串的模式匹配算法-KMP算法
给定Next[i],Next[i]指向的总是上一循环节后面的一个字符,所以上一循环节末尾为Next[i]-1
当前循环节的末尾为i-1,易得当前循环节长度:(i-1)-(Next[i]-1)=i-Next[i]
由题意已经假设0~i-1的串是循环的

被折叠的 条评论
为什么被折叠?