【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字串匹配KMP
- KMP字串模式匹配詳解KMP字串模式
- KMP字串匹配演算法KMP字串匹配演算法
- 字串匹配演算法:KMP字串匹配演算法KMP
- KMP字串匹配學習筆記KMP字串匹配筆記
- 字串匹配問題——KMP演算法字串匹配KMP演算法
- 字串匹配之KMP《演算法很美》字串匹配KMP演算法
- 字串匹配基礎下——KMP 演算法字串匹配KMP演算法
- kmp字串匹配,A星尋路演算法KMP字串匹配演算法
- 【leetcode】28. Implement strStr() 字串匹配KMP BMLeetCode字串匹配KMP
- 匹配字串之——KMP演算法深入理解字串KMP演算法
- 快速字串匹配一: 看毛片演算法(KMP)字串匹配演算法KMP
- 第五章 字串專題 ---------------- 字串匹配(二)----KMP演算法字串匹配KMP演算法
- 神奇的字串匹配:擴充套件KMP演算法字串匹配套件KMP演算法
- 字串匹配演算法(三)-KMP演算法字串匹配演算法KMP
- 字串匹配-BF演算法和KMP演算法字串匹配演算法KMP
- HDU 1711 Number Sequence(KMP)KMP
- 字串匹配演算法之 BF 和 KMP 講解字串匹配演算法KMP
- 圖解KMP字串匹配演算法+程式碼實現圖解KMP字串匹配演算法
- KMP-字串KMP字串
- POJ--2406Power Strings+KMP求字串最小週期KMP字串
- KMP模式匹配演算法KMP模式演算法
- manacher || 擴充套件kmp -- Best Reward HDU - 3613套件KMP
- 字串匹配字串匹配
- 模式匹配kmp演算法(c++)模式KMP演算法C++
- 求字串連續字元數量字串字元
- HDU 5831 Rikka with Parenthesis II (括號匹配)
- hdu 5698 瞬間移動 【質因數分解求組合數】
- LeetCode_0028. 找出字串第一個匹配項的下標,KMP演算法的實現LeetCode字串KMP演算法
- 【資料結構與演算法】字串匹配(Rabin-Karp 演算法和KMP 演算法)資料結構演算法字串匹配KMP
- 字串學習總結(Hash & Manacher & KMP)字串KMP
- leetcode - 1686 - 石子游戲 VI - 貪心 - 數學分析LeetCode
- Python正規表示式匹配字串中的數字Python字串
- 輸出字串中出現次數最多的字元和次數字串字元
- 字串匹配模式問題字串匹配模式
- Bitset 亂搞字串匹配字串匹配
- 字串演算法--$\mathcal{KMP,Trie}$樹字串演算法KMP
- Python 細聊從暴力(BF)字串匹配演算法到 KMP 演算法之間的精妙變化Python字串匹配演算法KMP
- MATLAB求多項式係數及次數Matlab