hrbust/哈理工oj 2060 截取方案数【KMP匹配】
来源:互联网 发布:mysql 5.6 character 编辑:程序博客网 时间:2024/05/29 16:39
截取方案数Time Limit: 1000 MSMemory Limit: 32768 KTotal Submit: 165(70 users)Total Accepted: 68(58 users)Rating: Special Judge: NoDescription
给定一个模式串T,主串S,问:从S中截取T有多少种方案?
Input有多组测试数据,对于每组测试数据,第一行是模式串T,第二行是主串S,数据中仅包含大小写字母和数字,模式串T长度不超过10^4, 主串S长度不超过10^5。
注意:数据是随机的。
Output对于每组测试数据,输出一行,为截取方案数。
Sample InputabcabcdaabcababcdabcdaabcababaabababaSample Output
213SourceHCPC2014校赛训练赛 3
基础KMP匹配,如果匹配成功output++即可。
#include<stdio.h>#include<string.h>using namespace std;int next[200005];char a[2000005];char b[2000005];int lena;int lenb;int output;void set_naxt()//子串的next数组{ int i=0,j=-1; next[0]=-1; while(i<lenb) { if(j==-1||b[i]==b[j]) { i++; j++; next[i]=j; } else j=next[j]; }}int kmp(){ int i=0,j=0; set_naxt(); while(i<lena) { if(j==-1||a[i]==b[j]) { i++;j++; } else j=next[j]; if(j==lenb) { output++; } }}int main(){ while(~scanf("%s",b)) { output=0; scanf("%s",a); lena=strlen(a); lenb=strlen(b); kmp(); printf("%d\n",output); }}
0 0
- hrbust/哈理工oj 2060 截取方案数【KMP匹配】
- Hust oj 2060 截取方案数(KMP)
- Hrbust oj/哈理工 oj 1216数的划分
- 哈理工oj/hrbust 1492 盒子【最大二分匹配】
- hrbust 哈理工OJ 1918 M数【数位dp基础】
- hrbust 哈理工oj 1993数硬币【dp】【背包】
- hrbust 1216/哈理工oj 1216 数的划分【dp】
- 哈理工OJ 1309 入侵检测【kmp匹配】【模板记录】
- hrbust 哈理工oj 1588 神医【贪心】
- hrbust 哈理工oj 网线【MST+Prim】
- 哈理工oj/hrbust 1790 武林【DP】
- hrbust哈理工oj 1674 充电【贪心】
- hrbust 哈理工oj 1330 邂逅【模拟】
- hrbust/哈理工oj 1877 区间【水题】
- hrbust 哈理工oj 1834 括号匹配【好题】【floyd+dp】
- hrbust/哈理工oj 1477 战争与守卫【最小点覆盖 二分匹配/树型dp】
- hrbust 1698/哈理工oj 1698 邂逅数塔【思维+快速打印素数表】
- hrbust 1214 哈理工oj 1214 方格取数【BFS广搜+dp】
- 开源框架之xUtils
- [windows]查找端口占用,并结束
- Android系统启动分析
- 3722: PA2014 Final Budowa|树形DP
- ios 'Can't add self as subview'崩溃日志详解
- hrbust/哈理工oj 2060 截取方案数【KMP匹配】
- 梯度下降,随机梯度下降,批量梯度下降,mini-batch 梯度下降
- ios的toolbar的item的几种简单布局
- Hadoop 解除 "Name node is in safe mode"
- HDU 1.1.2 A+B for Input-Output Practice (II)
- 事件冒泡和事件捕获
- cocostudio与cocosbuilder对比整理
- http上传文件和进度监控以及构造multipart/form-data请求
- 关于Sql Server2008升级成企业版本后,通过命令查询还是“快版”的说明