HDU 2087 kmp
来源:互联网 发布:手机淘宝自定义模块 编辑:程序博客网 时间:2024/05/20 08:42
2014/9/11
大水比就是我
// 失败者用失败诉说真实,成功者用成功掩饰事实。//阳光刺痛双眸// #include<stdio.h>#include<string.h>#include<cmath> #include<algorithm>#include<iostream>#include<queue>#include<stack>#include<map>#include<climits>#include<vector>using namespace std;typedef long long ll; #define f(x,y,i) for(int i = x;i < y; i++)#define ff(x,y,i) for(int i = x;i <= y; i++)#define F(x,y,i) for(int i = x; i >= y; i--)#define FF(x,y,i) for(int i = x; i > y; i++)#define lson pos<<1,l,mid#define rson pos<<1|1,mid+1,r#define Min(x,y) x<y?x:y#define Max(x,y) x>y?x:y#define sc(n) scanf("%d",&n)#define pr(n) printf("%d\n",n)#define met(n,m) memset(n, m, sizeof(n)) const int N=100500;int n, m , len;char s[N];char s1[N];int next[N];void Next(){int p = 0;for(int i = 2; i <= n; ++i){while(p > 0&&s[p+1] != s[i]){p = next[p];}if(s[p+1] == s[i]){p++;}next[i] = p;}}int Kmp(){Next();int p = 0;int cnt = 0;for(int i =1;i <= m; ++i){while(p > 0&&s[p+1] != s1[i]){p = next[p];}if(s[p+1] == s1[i]){ ++p;}if(p == n){cnt++;p =0;}}return cnt;}int main(){ while(~scanf("%s",s1+1)) { if(s1[1]=='#')break; scanf("%s",s+1); n = strlen(s+1); m = strlen(s1+1);printf("%d\n",Kmp()); } return 0;}
0 0
- HDU 2087 水KMP
- HDU-2087(KMP)
- hdu 2087 kmp
- HDU 2087 KMP
- 【2087 HDU KMP 】
- HDU 2087 KMP裸题
- HDU 2087 kmp
- hdu 2087 kmp
- hdu 2087 KMP
- hdu 2087 水kmp
- HDU 2087 (KMP)
- HDU 2087(KMP)
- 字符串 KMP HDU 2087
- HDU - 2087 KMP
- KMP 模板 hdu 2087
- HDU 2087 (KMP||暴力)
- 两个kmp hdu 2594 & hdu 2087
- hdu 2087 BF 和 KMP算法
- 第7章 TCP网络编程基础
- Java常用正则表达式验证工具类RegexUtils.java
- 六:取六个字的行 20140910 ①文本处理
- 七:取七个字的行 20140911 ①文本处理
- 经验及技巧:windows phone 8.1 获得经纬度
- HDU 2087 kmp
- 一张图解决一道笔试题 --- 理解fork函数
- 希尔排序
- JAVA Web简单的用户名密码验证
- BZOJ 2662 BeiJing wc2012 冻结
- ajax 初识 w3cschool
- magento “include(Mage/Customemail/Helper/Data.php) cant open the file”
- 脏读、不可重复读、幻读
- 寻找一个字符串中最长的重复子串