思路
KMP算法的next数组是该字符串的最长的相同的前缀和后缀的长度
所以i-next[i]是最小的循环节长度 然后如果next[i]不为0,则证明一定有循环(不一定完整) 然后如果整除,就是完整的循环了代码
#include#include #include using namespace std;int T,n,nxt[1000100];char s[1000100];void get_fail(char *s){ nxt[0]=0; nxt[1]=0; int j=0; for(int i=1;i