详情参考:P1709
个人觉得和kmp算法有些类似,就是细节较多
取min(i,j)意思是如果两个字符串是一样的,则选开头最小的那个
k是最重要的优化
读入的时候最好用cin以防换行的干扰
inline int node(int l)
{
int i=0,j=1,k=0;
while(is[(j+k)%l]) i=i+k+1;
else j=j+k+1;
if(i==j) j++;
}
return min(i,j);
}
int main()
{
n=read();
for(int i=0;i>s[i];
int ans=node(n);
cout<



