103 子串查詢

2021-09-08 13:15:42 字數 1035 閱讀 8827

記憶體限制:256 mib時間限制:500 ms標準輸入輸出

題目型別:傳統評測方式:文字比較

上傳者: 匿名

提交提交記錄

統計討論

測試資料

題目描述

這是一道模板題。

給定乙個字串 a aa 和乙個字串 b bb,求 b bb 在 a aa 中的出現次數。

a aa 中不同位置出現的 b bb 可重疊。

輸入格式

輸入共兩行,分別是字串 a aa 和字串 b bb。

輸出格式

輸出乙個整數,表示 b bb 在 a aa 中的出現次數。

樣例樣例輸入

zyzyzyz

zyz

樣例輸出

3

資料範圍與提示

1≤a,b 1 \leq a, b1≤a,b 的長度 ≤106 \leq 10 ^ 6≤10​6​​,a aa、b bb 僅包含大小寫字母。

裸的kmp。

發現一前寫錯了乙個地方

第40行的while一直寫的是if。

但是在洛谷能ac,

估計是資料渣的一逼,,

#include#include#include#include#includeusing namespace std;

const int maxn=100000001;

inline void read(int &n)

while(c>='0'&&c<='9')

flag==1?n=-x:n=x;

}char a[maxn];

char b[maxn];

int la;

int lb;

int p[maxn];

int ans=0;

void makep()

}void kmp()

printf("%d",ans);

}int main()

LOJ 103 子串查詢 Hash

給定兩個字串 a 和 b 求 b 在 a 中的出現次數。這是一道 kmp 的模板題。不過 hash 是個好東西,可以用 hash 代替 kmp 演算法。預處理兩個字串的雜湊值,然後將 a 中所有長度為 len b 的子串的雜湊值與 b 的雜湊值比較即可。時間複雜度 o n m 與 kmp 演算法一樣...

8 21 問題 F 103 子串查詢

題目描述 這是一道模板題。給定乙個字串 a和乙個字串 b,求 b 在 a 中的出現次數。a中不同位置出現的 b 可重疊。輸入 輸入共兩行,分別是字串 a 和字串 b。輸出 輸出乙個整數,表示 b 在 a 中的出現次數。樣例輸入 zyzyzyz zyz樣例輸出3 提示 1 a,b 的長度 106 a ...

D 子串查詢

度度熊的字串課堂開始了!要以像度度熊一樣的天才為目標,努力奮鬥哦!為了檢驗你是否具備不聽課的資質,度度熊準備了乙個只包含大寫英文本母的字串 a 1,n a1a2 ana 1,n a1a2 an,接下來他會向你提出 qq 個問題 l,r l,r 你需要回答字串 a l,r alal 1 ara l,r...