HDU 1686Oulipo
来源:互联网 发布:mac mpv播放器 慢放 编辑:程序博客网 时间:2024/06/04 23:30
HDU的题意就是,给你一个字符串A,一个字符串B,求A在B中总共出现了几次,注意,重复的也算。
KMP算法,过程中记录次数。
#include <cstdio>#include <cstring>using namespace std;#define L(i) i<<1#define R(i) i<<1|1#define INF 0x3f3f3f3f#define pi acos(-1.0)#define eps 1e-3#define maxn 1000010#define MOD 100000000int n,m;int next[10011];char a[maxn];char b[10010];void get_next(){ int i = 0,j = -1; next[0] = -1; while(i < m) { if(j == -1 || b[i] == b[j]) next[++i] = ++j; else j = next[j]; }}int KMP(){ int i = 0,j = 0,cnt = 0; while(i < n) { if(a[i] == b[j] || j == -1) { i++; j++; } else j = next[j]; if(j == m) { cnt++; j = next[j]; } } return cnt;}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%s%s",b,a); n = strlen(a); m = strlen(b); get_next(); int ans = KMP(); printf("%d\n",ans); } return 0;}
0 0
- HDU 1686 Oulipo (kmp)
- hdu 1686 Oulipo
- hdu 1686 Oulipo
- hdu 1686 Oulipo
- hdu 1686 kmp Oulipo
- hdu 1686 Oulipo
- KMP hdu-1686-Oulipo
- HDU 1686 Oulipo
- Hdu 1686 Oulipo[kmp]
- hdu 1686 Oulipo(KMP)
- hdu 1686 Oulipo
- HDU-1686-Oulipo(KMP)
- hdu 1686 Oulipo(KMP)
- hdu 1686 Oulipo(KMP)
- HDU - 1686 Oulipo
- HDU 1686 Oulipo (KMP)
- HDU 1686 Oulipo(KMP)
- HDU 1686 Oulipo - KID
- 搭建SS
- 程序在内存中的分布
- 马云:湖畔大学主讲失败案例
- Cocos缓存的实现
- web安全
- HDU 1686Oulipo
- 手机卫士 第三天
- 一起来说说那些你不知道的Drawable
- Cocos节点
- CArray的类成员函数和使用方法详解
- C++中智能指针的设计和使用
- Jericho Tab
- STL for_each
- 绘制——如何在cocos中画画