半天了,此题自己想个暴力法,果断超时,,,,,,,,
照别人copy,后过。。。。。。。
最恨别人忽略水牛,比电脑崩了资料没备份更令人痛心!!!
其实又能怎样呢?天生大脑CPU为低频,内存为512的人,又怎样才能力挽狂澜?有人说:虽然低频,但是输出功率还是看具体使用啊!
一派胡言!!!不要总拿龟兔赛跑来欺骗小孩子!!!不是所有的兔子都是懒的,任你乌龟怎样,兔子也是轻松超越!!!
不扯了!!!
贴代码:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int next[200005];
char st[200005];
int p[200005],m,n;
void getNext()
{
int j=-1,i=0;
next[0]=-1;
while(i<m)
{
if(j==-1||st[i]==st[j])
{
j++;
i++;
next[i]=j;
}
else j=next[j];
}
}
int main()
{
int i,j,t,n;
int sum,data;
scanf("%d",&n);
while(n--)
{
sum=0;
memset(p,0,sizeof(p));
scanf("%d",&m);
scanf("%s",st);
getNext();
for(int i=1;i<=m;i++)
{
p[i]=(p[next[i]]+1)%10007;
sum=(sum+p[i])%10007;
}
cout<<sum<<endl;
}
return 0;
}