第一行給出字串s。|s|<=1e6.
第二行給出詢問次數q,q<=1e6.
接下來每行給出字串t,|t|<=1e6.
題目保證所有詢問|t|之和<=1e7.
對於每個詢問,輸出乙個整數表示答案。
abab
2abababab
ababcbaba52
#include
using
namespace std;
typedef
unsigned
long
long ull;
const ull base=
23333
;const
int n=
1e6+5;
ull hs[
2*n]
,pw[
2*n]
;char s[
2*n]
,t[n]
;unordered_mapbool
> mp;
main()
///如果字串的長度大於k,直接跳出迴圈,檢測下乙個字串
for(
int i=
1;i<=k;i++
) hs[i]
=hs[i-1]
*base+t[i]
-'a'+1
;///將給出的字串雜湊
for(
int i=n;i<=k;i++)if
(mp.
count
(hs[i]
-hs[i-n]
*pw[n]
)) ans++
;///檢測長度為n的子串,存在則ans++
printf
("%d\n"
,ans);}
}
PIPI的字串問題
pipi研究了多年字串後發現回文串是字串中最優雅的一種存在了。所以pipi發明了一種指標叫優雅度的指標來衡量乙個字串的優雅程度。優雅度定義如下 1.空串和非回文串的優雅度為0。2.乙個長度為len的回文串的優雅度為,其長度為len 2 向下取整 的字首和字尾的優雅度 1.例如串 baabbaab 的...
PIPI的字串問題
pipi發現不少字串是相似的,相似是指長度相同,且如果短字串中兩個位置的字元相同則在長字串的子串中的對應位置也相同,如果短字串中兩個位置的字元不同則在長字串的子串中的對應位置也不同,比如 abcc和xyzz就是相似的。現在pipi有乙個短字串s,乙個長字串a,他想知道在這個長字串中有幾個子串與短字串...
1345 PIPI的字串問題 (字串雜湊)
pipi雙來考查大家字串處理的能力啦。給定乙個字串s,以及q次詢問。每次詢問給出兩個正整數l,r,你需要回答s l r 是否為回文串。第一行給出字串s,s 1e6.保證字串僅由小寫字母構成。第二行給出詢問次數q,q 1e6.接下來每行給出兩個整數l,r,1 l,r s 對於每個詢問,若字串s中 l,...