HDU 2203 KMP
来源:互联网 发布:淘宝越墙vans是正品吗 编辑:程序博客网 时间:2024/06/05 07:14
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<<1];int next[N];void Next(){int p = 0;for(int i = 2; i <= m; ++i){while(p > 0&&s[p+1] != s[i]){p = next[p];}if(s[p+1] == s[i]){p++;}next[i] = p;}}int Kmp(){
<pre name="code" class="html"> Next();
int p = 0;for(int i =1;i <= n; ++i){while(p > 0&&s[p+1] != s1[i]){p = next[p];}if(s[p+1] == s1[i]){p++;}if(p == m)return 1;}return 0;}int main(){ while(~scanf("%s",s1+1)) { scanf("%s",s+1); len = strlen(s1+1); n = len; m = strlen(s+1);for(int i =1 ;i <= len; i++){s1[++n] = s1[i];}if(Kmp())printf("yes\n");else printf("no\n"); } return 0;}
0 0
- hdu 2203 (kmp)
- HDU-2203(KMP)
- HDU 2203 kmp
- hdu 2203(KMP)
- HDU 2203 KMP
- HDU 2203 KMP
- 字符串 KMP HDU 2203
- HDU 2203(KMP算法)
- KMP hdu-2203-亲和串
- HDU 2203 亲和串 KMP
- hdu 2203 亲和串 kmp
- HDU 2203 kmp简单匹配
- hdu 2203 亲和串(KMP)
- 亲和串 - HDU 2203 KMP
- 【HDU】2203 亲和串 KMP
- hdu 2203 kmp 模板题
- HDU 2203(KMP) 亲和串
- HDU 2203 亲和串 (KMP)
- SAP如何删除或合修改数据库表
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 举办活动(最多)
- mysql替换回车、换行符
- 用nmake来编译,问环境变量怎么设置
- HDU 2203 KMP
- [SqlServer02]-数据库优化及管理常用命令
- Search in Rotated Sorted Array
- 输出1-100之间符合如下条件的数:该数的各位数之乘积大于各位数之和(循环嵌套)
- 11/09/2014 筛选特征新想法
- oracle提交了之后就不能回滚么?
- 稳定排序和不稳定排序(转载)
- Best Time To Buy And Sell Stock
- Billboard - HDU 2795 线段树