1686 hdu Oulipo(求模式串在文本串中出现的次数)
来源:互联网 发布:手机淘宝开店要不要钱 编辑:程序博客网 时间:2024/06/13 09:21
代码:
#include<cstdio>#include<cstring>using namespace std;char a[1000005],b[10005];int next[10005];int LCPS[10005];int n,m;void GetLCPS(){ int j=0; int k=-1; int len=strlen(b); next[0]=-1; while(j<len) { if(k==-1||b[k]==b[j]) { LCPS[j++]=++k; next[j]=k; } else { if(k-1>=0) k=LCPS[k-1]; else k=-1; } }}void KMP(){ int i=0; int j=0; int flag=i; int ans=0; int a_len=strlen(a); int b_len=strlen(b); while(i<a_len) { if(j==-1||a[i]==b[j]) { i++; j++; } else { j=next[j]; } if(j==b_len) { j=next[j]; ans++; } } printf("%d\n",ans);}int main(){ int t; scanf("%d",&t); while(t--) { scanf("%s",b); scanf("%s",a); GetLCPS(); KMP(); } return 0;}
0 0
- 1686 hdu Oulipo(求模式串在文本串中出现的次数)
- (KMP 1.2)hdu 1686 Oulipo(计算模式串在文本串中出现的次数)
- POJ 3461 Oulipo (KMP,求模版串在文本串中可覆盖出现的次数,constructive)
- (串的模式匹配4.6.2)POJ 3461 Oulipo(KMP算法的应用——求一个单词在一行文本中的出现次数)
- HDU3461Oulipo求模式串在文本串中出现的次数
- hdoj 1686 Oulipo 【求一个串在另一串的出现次数】【KMP】
- [KMP求模式在主串出现次数]POJ 3461 Oulipo
- hdu 1711 Number Sequence(求模式串首次出现在文本串的位置)
- poj3461—Oulipo(查找子串在目标串中出现次数)
- KMP求模式串在原串中出现的次数
- KMP算法求模式串在原串中出现的次数
- POJ 3461 Oulipo(KMP 一个串在另一个串出现的次数(可重叠|不可))
- //////////编程实现:求模式串T在目标串S中出现的次数和每次
- POJ 3461 Oulipo(KMP:统计一个串出现的次数)
- POJ 3461 Oulipo(KMP统计子串出现次数)
- LightOJ 1427 求每个模式串在母串中出现的次数
- hdu 4552 求所有字符串前缀在字符串中出现的总次数
- HDU 1686 Oulipo【主串中模式串个数(可重叠)】
- AFNetworking和ASIHTTPRequest的比较
- 【西祠日志】【14】周一,西祠,婚博会后
- Reverse Words in a String
- 基于Tinyhttp改写的http服务器(memcached,mysql)
- Android之——获取进程总数、内存、任务列表
- 1686 hdu Oulipo(求模式串在文本串中出现的次数)
- 第76讲:模式匹配下的赋值语句学习笔记
- 创业公司第三方服务精选(移动互联网版)
- 在Windows的CMD中如何设置支持UTF8编码?
- 每天一个小知识点22(cookie)
- java线程池原理
- 套接字&套接字地址结构和bind()函数
- IOS成长之路-导航栏的实现
- 2015080301 - 孤独的幸存者2