Hdu 2087 剪花布條 KMP基礎

2021-08-21 15:58:41 字數 581 閱讀 1610

傳送門

題意:給你兩個字串問你其中乙個字串在另乙個字串中出現了幾次。

分析:這題顯然用kmp做,不然很容易超時,其實這基本算是乙個kmp模板題,如果不懂kmp是什麼的,可以參考這裡,我們先預處理模式串的next陣列,複雜度為o(m),然後根據這個next陣列讓模式串和文字串匹配一遍,掃一遍的複雜度是o(n),所以總的複雜度為o(m+n)。

#includeusing namespace std;

const int maxn = 1e5+5;

char t[maxn],p[maxn];

char s[maxn];

int next[maxn];

int lent,lenp;

/**預處理模式串的next陣列*/

void getnext()

else j = next[j];

}}int kmp()

else j = next[j];

if(j==lenp)

}return sum;

}int main()

return 0;

}

hdu 2087 剪花布條 kmp

為了紀念第一次用kmp解決一道題,在這寫下了,算是當做乙個模板吧。description 一塊花布條,裡面有些圖案,另有一塊直接可用的小飾條,裡面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢?input 輸入中含有一些資料,分別是成對出現的花布條和小飾條,其布...

hdu 2087 剪花布條 KMP

problem description 一塊花布條,裡面有些圖案,另有一塊直接可用的小飾條,裡面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢?input 輸入中含有一些資料,分別是成對出現的花布條和小飾條,其布條都是用可見ascii字元表示的,可見的ascii...

HDU2087 剪花布條 KMP

一塊花布條,裡面有些圖案,另有一塊直接可用的小飾條,裡面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢?input 輸入中含有一些資料,分別是成對出現的花布條和小飾條,其布條都是用可見ascii字元表示的,可見的ascii字元有多少個,布條的花紋也有多少種花樣。...