设为首页 加入收藏

TOP

ZOJ 3587 扩展KMP
2015-07-20 17:39:40 来源: 作者: 【 】 浏览:3
Tags:ZOJ 3587 扩展 KMP

思路:这题确实大帝做得很机智!字符串先求最长前缀,反的字符串再求一次最长前缀,然后就可以搞了。

每个子串出现的次数就是最长前缀的次数嘛!

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include
  
   
#include
   
     #include
    
      #include
     
       #include
       #include
       
         #include
        
          #include
         
           #include
          
            #define mem(a,b) memset(a,b,sizeof(a)) #define lson i<<1,l,mid #define rson i<<1|1,mid+1,r #define llson j<<1,l,mid #define rrson j<<1|1,mid+1,r #define INF 0x7fffffff #define maxn 100005 typedef long long ll; typedef unsigned long long ull; using namespace std; void EKMP(char *s,char *t,ll *next,ll *extend)//s[]为主串,t[]为模版串 { int i,j,p,l; int len=strlen(t); int len1=strlen(s); memset(next,0,sizeof(next)); memset(extend,0,sizeof(extend)); next[0]=len; j=0; while(1+j
           
            =1;i--) sum[i]+=sum[i+1]; reverse(S,S+len1); reverse(T,T+len2); EKMP(S,T,next,extend); for(int i=0;i
            
             =1;i--) sum1[i]+=sum1[i+1]; ll ans=0; for(int i=1;i
             
              


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇camel-name-utils 在驼峰风格跟下.. 下一篇Sphinx/Coreseek 4.1 执行 buildc..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)