輸入
第一行乙個整數n,表示測試資料組數。
接下來的n*2行,每兩行表示乙個測試資料。在每乙個測試資料中,第一行為模式串,由不超過10^4個大寫字母組成,第二行為原串,由不超過10^6個大寫字母組成。
其中n<=20
輸出 對於每乙個測試資料,按照它們在輸入中出現的順序輸出一行ans,表示模式串在原串中出現的次數。
樣例輸入
5 ha
hahaha
wqn
wqn
ada
adadada
bababb
bababababababababb
dad
addaadaaddaaadaad
樣例輸出
3 1
3 1
0思路:
kmp模板題,這篇部落格講的比較細
這裡主要說一下如何理解next陣列,next陣列主要是對於模式串而言的,且除了當前字元之外的子串的字首和字尾的匹配的字元個數。
#include
#include
#include
using
namespace
std;
const
int maxn = 1e6;
int next[maxn]; //next陣列的含義是,除開當前字元外(在kmp中表示字元失配的那個位置),子串的字首和字尾相同字元的個數。
void getnext(string p)
else
}}int kmp(string s, string p)
//cout << i << " " << j << endl;
// if (j == plen)
// else
return res;
}int main()
return
0;}
每日一題之 hiho1744 hohahola
描述 有一種叫作hohahola的飲料,售價是x元一瓶。小hi非常喜歡這種飲料,但是他現在身無分文。不過小hi有n張優惠券,買hohahola時每瓶最多使用一張優惠券,可以使該瓶 減少y元。y x 同時優惠券可以 小hi每 一張優惠券可以獲得z元。請你幫小hi計算通過 若干優惠券,他最多可以買多少瓶...
每日一題之 hiho1304 24點
週末,小hi和小ho都在家待著。在收拾完房間時,小ho偶然發現了一副撲克,於是兩人考慮用這副撲克來打發時間。小ho 玩點什麼好呢?小hi 兩個人啊,不如來玩24點怎麼樣,不靠運氣就靠實力的遊戲。小ho 好啊,好啊。經過若干局遊戲之後 小ho 小hi,你說如果要寫個程式來玩24點會不會很複雜啊?小hi...
每日一題之 hiho197 逆序單詞
描述 在英文中有很多逆序的單詞,比如dog和god,evil和live等等。現在給出乙份包含n個單詞的單詞表,其中每個單詞只出現一次,請你找出其中有多少對逆序單詞。輸入 第1行 1個整數,n,表示單詞數量。2 n 50,000。第2.n 1行 每行1個單詞,只包含小寫字母,每個單詞長度不超過16個字...