半天了,此题自己想个暴力法,果断超时,,,,,,,,

照别人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;

}