POJ 3461 KMP
2016-07-17 12:49
267 查看
【题意】
给定n对字符串,求每组的前一个字符串在后一个字符串之中出现了几次
一道裸的KMP
这里就放个模板吧。。。。
以后KMP就这么写了
// by SiriusRen #include <cstdio> #include <cstring> using namespace std; int alen,cases,blen,next[10500],ans; char a[10500],b[1000500]; void get_next(){ int j=0;next[1]=0; for(int i=2;a[i];i++){ while(j&&a[i]!=a[j+1])j=next[j]; if(a[i]==a[j+1])j++; next[i]=j; } } void KMP(){ int j=0; for(int i=1;i<=blen;i++){ while(j&&b[i]!=a[j+1])j=next[j]; if(b[i]==a[j+1])j++; if(j==alen){ans++;j=next[j];} } } int main(){ scanf("%d",&cases); while(cases--){ ans=0; scanf("%s%s",a+1,b+1); alen=strlen(a+1),blen=strlen(b+1); get_next(); KMP(); printf("%d\n",ans); } }
相关文章推荐
- let和expr比较
- Yii2的深入学习--行为Behavior
- TD不换行 nowrap属性
- UTF(QTP)与Mysql的连接心得
- MySQL · 引擎特性 · InnoDB 事务子系统介绍
- android学习日记之provider,service,widget
- Windows系统Hash密码值知识
- Git 创建与合并分支
- discuz x2论坛和门户常用的表
- UVA1347 Tour (DP)
- java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
- ubuntu14.04安装配置FFmpeg+opencv-3.1.0+python 调用opencv模块
- self = [super init]
- discuz x2里面如何判断回复的回复呢
- 个人学习-java-spring
- 使用MyBatis进行数据库的操作,出现XAER_RMFAIL错误
- 解决ie6、ie7、ie8下float为right换行的情况
- 12级-13级成员博客地址
- android学习日记之intent与IPC
- 最小公倍数