2013 ACM/ICPC Asia Regional Changchun Online hdu Theme Section
来源:互联网 发布:doge网络意思 编辑:程序博客网 时间:2024/04/30 15:16
题意:给定一个字符串,是否存在字符串的首部,尾部和中部 ,求最长的。
kmp解决。
#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int N=1e6+50;int next[N];char str[N];void Get_Next(char *p,int len){ int j=1; next[0]=-1; int k=-1; for(;j<len;j++) { while(k>-1&&p[k+1]!=p[j]) k=next[k]; if(p[k+1]==p[j]) k++; next[j]=k; }}bool Check(int l,int r){ int i=l,j=-1; while(i<r) { while(j>-1&&str[i]!=str[j+1]) j=next[j]; if(str[j+1]==str[i]) j++; i++; if(j==l-1) return true; } return false;}int main(){ int ncase,i,len; scanf("%d",&ncase); while(ncase--) { scanf("%s",str); len=strlen(str); Get_Next(str,len); i=next[len-1]; while(i>=(len/3)&&(i!=-1)) i=next[i];//分成三段,每段的长度不超过len/3 int ans=0; while(i!=-1) { int l=i+1,r=len-i-1; bool flag=Check(l,r); if(flag) { ans=i+1; break; } i=next[i]; } printf("%d\n",ans); } return 0;}
- 2013 ACM/ICPC Asia Regional Changchun Online hdu Theme Section
- 2013 ACM/ICPC Asia Regional Changchun Online
- 2013 ACM/ICPC Asia Regional Changchun Online
- 2013 ACM/ICPC Asia Regional Changchun Online
- 2015 ACM/ICPC Asia Regional Changchun Online hdu 5438
- hdu 5438 Ponds 2015 ACM/ICPC Asia Regional Changchun Online
- HDU 5441 Travel(2015 ACM/ICPC Asia Regional Changchun Online)
- 2012 ACM/ICPC Asia Regional Changchun Online
- 2015 ACM/ICPC Asia Regional Changchun Online
- 2015 ACM/ICPC Asia Regional Changchun Online
- 2013 ACM/ICPC Asia Regional Changchun Online Stone
- hdu 4768 Flyer 二分(2013 ACM/ICPC Asia Regional Changchun Online 1010)
- hdu 4762 Cut the Cake 概率(2013 ACM/ICPC Asia Regional Changchun Online 1004)
- 2015 ACM/ICPC Asia Regional Changchun Online(hdu 5437 - hdu 5449)
- 2012 ACM/ICPC Asia Regional Changchun Online-1001
- 2012 ACM/ICPC Asia Regional Changchun Online-1010
- 2012 ACM/ICPC Asia Regional Changchun Online-1006
- 2012 ACM/ICPC Asia Regional Changchun Online 解题报告
- 双网卡 Ubuntu服务器网卡配置
- 基于 HTTP 长连接的“服务器推”技术[转]
- InvocationHandler中invoke()方法的调用问题
- android system.img 大小修改
- Java和PHP在Web开发方面的比较
- 2013 ACM/ICPC Asia Regional Changchun Online hdu Theme Section
- 创新工场笔试题
- Linux-paste command
- ORACLE日期时间函数大全
- c语言读取 unicode文件操作(去掉2个文件重复的部分)
- 利用华硕e6308_P8P67_PRO主板开发双目立体视觉问题小结
- unix域套接----详解
- MYSQL Error Code: 2006 – MySQL server has gone away
- 桌面应用软件的跨平台解决方案 heX