zoukankan      html  css  js  c++  java
  • hdu 3336 KMP+DP (仍不懂)

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

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

      

  • 相关阅读:
    QT资料大全
    网络协议及tcp协议详解
    QT和Java的跨平台
    QString转char *
    QT删除整个文件夹
    QT获取linux下的当前用户名
    std::map自定义类型key
    QT程序自启动
    linux下通过命令连接wifi
    Rsync实现文件的同步
  • 原文地址:https://www.cnblogs.com/ccccnzb/p/3579220.html
Copyright © 2011-2022 走看看