hdu2087解题报告
来源:互联网 发布:《算法的乐趣》 编辑:程序博客网 时间:2024/05/16 10:31
题目大意:有一个字符串,还有模板字符串,问模板字符串在前一个字符窜中出现了几次?
解题思路:kmp算法水之,找到一次加1即可。
ac代码:
#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;const int maxn=1000+100;char s[maxn],t[maxn];int Next[maxn];//失去配表int num;void getfail(char *P,int * f){ int m=strlen(P); f[0]=0; f[1]=0; for(int i=1;i<m;i++) { int j=f[i]; while(j&&P[i]!=P[j]) j=f[j]; f[i+1]=P[i]==P[j]?j+1:0; }}void Find(char *T,char *P,int *f){ int n=strlen(T); int m=strlen(P); getfail(P,f); int j=0; for(int i=0;i<n;i++) { while(j&&P[j]!=T[i]) j=f[j]; if(P[j]==T[i]) j++; if(j==m) {num++;j=0;} }}int main(){ while(scanf("%s",s)) { num=0; if(s[0]=='#') break; scanf("%s",t); Find(s,t,Next); printf("%d\n",num); }}
0 0
- hdu2087解题报告
- hdu2087
- hdu2087
- hdu2087
- hdu2087
- hdu2087
- HDU2087
- hdu2087
- HDU2087
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- Antiprime解题报告
- expr解题报告
- cocos2dx+lua注册事件函数详解
- 常用正则表达式
- CSS实现不定高度垂直居中 兼容IE7
- Android Fragment完全解析,关于碎片你所需知道的一切
- Make 命令教程(makefile)
- hdu2087解题报告
- 为什么说cache是persist的特例?
- WPF 不规则窗体
- 5-24 约分最简分式
- 刷面试题
- UIScrollView小结
- java的垃圾回收机制知识点
- 第1章:对象的演化
- 在windows环境下安装perl( Statistics::Basic module)相关包