描述aa所在的國家有一項神奇的發明:插座。這裡的插座不僅有兩孔、三孔,而是有多種形態,下面用不同的小寫字母表示不同的插座。插線板可以看做一排插座,因而下面用小寫字母組成的字串表示插線板。
該國家的用電器的插頭也很特別,是由一串插頭固定在一起的,下面用大寫字母組成的字串表示。只有插座和插頭匹配,該用電器才能插在插線板上。例如:
插頭abcba可以插在插線板abcbabcba上。
現在問題來了:給定插線板和插頭,問該插線板上最多能插幾個這樣的插頭?注意,這些插頭不能重疊。
輸入多組測試資料。
每組測試資料報含兩行,第一行為插座,第二行為插頭。
插座、插頭對應的字元均不超過106
。總資料量不超過107
個字元。
輸出對每組資料,輸出一行乙個整數,表示答案。
樣例輸入1
複製
abcbabcbaabcba
樣例輸出1
1
解法非常簡單,直接進行kmp匹配就可以了,但是kmp的模板要有乙個小小的改動(因為這裡題目要求插頭不能重疊),那就是只要匹配到乙個插頭以後,直接置j = 0
這樣可以避過重疊
**:
#include #include using namespace std;
#define maxn 2000001
char s[maxn];
char str[maxn];
int fail[maxn];
int search(char *str)
} return ans;
}void make_fail()
}int main()
return 0;
}
2013西安交大ACM校內賽C題
description zz和gg有很多大事要決定。在他們實在說服不了對方的時候,他們決定猜拳決定勝負。由於石頭剪刀布在設計之初存在巨大的缺陷,有極大的可能出現平手!事實上,某一天,zz和gg猜拳猜了乙個下午 在中科院的領導的幫助下,zz和gg開始使用 二維向量夾角大作戰 來決定勝負。二維向量夾角大...
2017西安邀請賽總結
我記得前幾天就傳上來了的呀。邀請賽總結 前幾天玩的太浪了,還包了一次宿。休息就跟不上了,正式賽時候腦子一直濛濛的。而且之前想前一天去安排下戰術,然而熱身發揮的比較穩,再加上酒店問題比較大,換房間什麼的浪費很長時間就沒有去安排戰術,正式賽只做的4題,銅牌第6.發揮的很差,全場題總是不出。其實a題正解我...
創業者周鴻禕前傳(西安交大時期)
以下這篇博文來自西安交大兵馬俑bbs 6月13日 作者自稱是周鴻禕的同級同學 kevin 裡面頗有不少八卦題材,值得一讀。這是創業者周鴻禕的部分前傳啊 以下為原文,有刪節 周鴻禕和我一級,88的。是參與過88 1那個瘋狂年代散步的年齡最小的一批.從此,我們這一級的,大多都有些特立獨行的味道。88 1...