对任意一个符合条件的周期\(Q\),设长度为\(l\),设字符串的长度为\(s\),则一定有\(s-l\)是\(next\)的候选项
这个画个图就明白了
由于题目要让\(l\)最大,所以我们用类似递归的方法即可,具体见代码,注意好好看看,特别是边界问题
提醒一下,蓝书P75说一个字符串的任意循环元的长度一定是最小循环元长度的倍数,这个定理对扩展循环元是不成立的
比如bbacbb
,最小扩展循环元为bbac
,但是bbacb
显然也是扩展循环元
对任意一个符合条件的周期\(Q\),设长度为\(l\),设字符串的长度为\(s\),则一定有\(s-l\)是\(next\)的候选项
这个画个图就明白了
由于题目要让\(l\)最大,所以我们用类似递归的方法即可,具体见代码,注意好好看看,特别是边界问题
提醒一下,蓝书P75说一个字符串的任意循环元的长度一定是最小循环元长度的倍数,这个定理对扩展循环元是不成立的
比如bbacbb
,最小扩展循环元为bbac
,但是bbacb
显然也是扩展循环元