博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4763 (KMP算法)
阅读量:4968 次
发布时间:2019-06-12

本文共 1094 字,大约阅读时间需要 3 分钟。

题目链接:

题目大意:给定一串字符,从中找出符合“EAEBE”格式的E的最大字符数。AB可以是任意数量的任意字符(a-z)。

Sample Input
5
xy
abc
aaa
aaaaba
aaxoaaaaa
 
Sample Output
0
0
1
1
2

分析:首先枚举判断开始和结尾是否满足作为E,再KMP计算中间是否存在E

代码如下:

1 #include
2 #include
3 #include
4 using namespace std; 5 #define N 1000001 6 int next[N]; 7 char a[N]; 8 9 void getnext(int m){10 int i=0,j=-1;11 next[0]=-1;12 while(i<=m){13 if(j==-1||a[i]==a[j])14 {15 i++;16 j++;17 next[i]=j;18 }19 else j=next[j];20 }21 }22 bool kmp(int st,int l){23 int j=0;24 int i=st+1;25 int ed=l-st-1;26 while(i
=0;i--){50 if(judge(i,l)){51 if(kmp(i,l)) 52 {53 ans=i+1;54 break;55 }56 }57 }58 return ans;59 }60 int main(){61 int t;62 scanf("%d",&t);63 while(t--){64 scanf("%s",a);65 printf("%d\n",getsolve());66 }67 return 0;68 }

 

转载于:https://www.cnblogs.com/acm-bingzi/p/3346600.html

你可能感兴趣的文章
[LeetCode] Combinations
查看>>
客户端-服务器端互动比较与原生实例(比较ajax,server-sent event,websocket/netsocket)...
查看>>
MQTT 入门介绍——菜鸟教程
查看>>
使用SQLiteOpenHelper管理SD卡中的数据库
查看>>
gradient css
查看>>
javascript {}+"" 与 ""+{}
查看>>
create-react-app安装失败或者安装很慢
查看>>
转 js+cookie 购物车
查看>>
C++之运算符重载(一元)
查看>>
文件中seek的用法补充
查看>>
UPC OJ 一道水题 STL
查看>>
【转】Linxu学习---top实践
查看>>
课堂练习之《找水王》
查看>>
poj3255
查看>>
for循环
查看>>
iptables 设置肯限制流量
查看>>
cscope usage
查看>>
今天又是新的一周,把考勤做一下吧。
查看>>
特殊篮子问题——C语言暴力破解
查看>>
java环境变量的设置
查看>>