【KMP求字串匹配次數】 hdu 1686
Hdu 1686
求模式串出現在目標串的次數
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<stack>
#include<queue>
#include<deque>
#include<map>
#include<algorithm>
using namespace std;
typedef long long LL;
//#pragma comment(linker, "/STACK:102400000,102400000")
/*
hdu 1686 KMP簡單題
求模式串出現在目標串的次數
*/
const double PI = acos(-1.0);
const double eps = 1e-6;
const int INF=0x3f3f3f3f;
const int mod = 1e9+7;
const int N=1000010;
char s[N],p[N];
int net[N];
void getnext(int len)
{
int k = -1;
net[0] = -1;
for(int i = 1; i < len; i++)
{
while(k!=-1 && p[k+1]!=p[i])
k = net[k];
if(p[k+1]==p[i])
k++;
net[i] = k;
}
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%s%s",p,s);
int lenp = strlen(p);
getnext(lenp);
int lens = strlen(s);
int k = -1;
int num = 0;
for(int i = 0; i < lens; i++)
{
while(k!=-1 && p[k+1]!=s[i])
k = net[k];
if(p[k+1]==s[i])
k++;
if(k==lenp-1)
{
k = net[k];
num++;
}
}
printf("%d\n",num);
}
return 0;
}
相關文章
- 【KMP求字串第一個匹配位置】hdu 1711KMP字串
- 【字串匹配】KMP字串匹配KMP
- KMP字串模式匹配詳解KMP字串模式
- KMP字串匹配學習筆記KMP字串匹配筆記
- 字串匹配演算法:KMP字串匹配演算法KMP
- KMP字串匹配演算法KMP字串匹配演算法
- 字串匹配KMP演算法初探字串匹配KMP演算法
- KMP Algorithm 字串匹配演算法KMP小結KMPGo字串匹配演算法
- 字串匹配之KMP《演算法很美》字串匹配KMP演算法
- 字串匹配問題——KMP演算法字串匹配KMP演算法
- 【Kmp求字串字首在字串出現的次數】51nod 1277 字串中的最大值KMP字串
- HDU 4668 Finding string (解析字串 + KMP)字串KMP
- kmp字串匹配,A星尋路演算法KMP字串匹配演算法
- 字串匹配基礎下——KMP 演算法字串匹配KMP演算法
- KMP字串匹配演算法 通俗理解KMP字串匹配演算法
- 快速字串匹配一: 看毛片演算法(KMP)字串匹配演算法KMP
- 匹配字串之——KMP演算法深入理解字串KMP演算法
- KMP字串匹配演算法理解(轉)KMP字串匹配演算法
- 第五章 字串專題 ---------------- 字串匹配(二)----KMP演算法字串匹配KMP演算法
- 【leetcode】28. Implement strStr() 字串匹配KMP BMLeetCode字串匹配KMP
- 字串匹配-BF演算法和KMP演算法字串匹配演算法KMP
- 字串匹配演算法(三)-KMP演算法字串匹配演算法KMP
- 神奇的字串匹配:擴充套件KMP演算法字串匹配套件KMP演算法
- 字串匹配演算法之 BF 和 KMP 講解字串匹配演算法KMP
- HDU 2594 (KMP入門)KMP
- 圖解KMP字串匹配演算法+程式碼實現圖解KMP字串匹配演算法
- HDU 5469 Antonidas(樹上的字串匹配/搜尋)字串匹配
- 模式匹配-KMP演算法模式KMP演算法
- HDU5716 : 帶可選字元的多字串匹配字元字串匹配
- HDU 1711 Number Sequence(KMP)KMP
- KMP模式匹配演算法KMP模式演算法
- 【KMP思想求迴圈節】hdu 1358 hust 1010 poj 2406KMP
- POJ--2406Power Strings+KMP求字串最小週期KMP字串
- HDU 2203(KMP) 親和串KMP
- 字串匹配字串匹配
- 模式匹配kmp演算法(c++)模式KMP演算法C++
- manacher || 擴充套件kmp -- Best Reward HDU - 3613套件KMP
- hdu5414(2015多校10)--CRB and String(字串匹配)字串匹配