字串
小熊有乙個由小寫英文本母組成的字串s = s
ss 1 s
ss 2…snsn
sn。小熊想要計算s
ss中有多少子串包含字串「bea
rbear
bear
」,也就是找出滿足字串x(i, j)= sisi
sis isi
si+1…sjsj
sj包含至少乙個字串「bea
rbear
bear
」的 (i
ii, j
jj)對數(1≤i
ii≤j
jj≤n
nn)。
字串x
xx(i
ii, j
jj)包含字串「bear」定義為存在乙個整數k
kk(i
ii≤k
kk≤j
jj-3),滿足sksk
sk=b
bb,sksk
sk+1=e
ee,sksk
sk+2=a
aa,sksk
sk+3=rrr。
請幫助小熊解決這個問題。
輸入共1行,包含乙個非空字串s
ss。資料保證字串s
ss中只包含小寫英文本母。
輸出共1行,包含乙個整數,表示這個問題的答案。
input
bebearar
output
9【輸入輸出樣例說明】
符合條件的9對(i
ii, j
jj)為:(1,6),(1,7),(1,8),(2,6),(2,7),(2,8),(3,6),(3,7),(3,8)。
【資料說明】
對於50%的資料,1≤n
nn≤200。
對於100%的資料,1≤n
nn≤3000。
題意就是找出有多少個子串含有"bea
rbear
bear
"如果能找到「bea
rbear
bear
」累加當前字串長度-「bea
rbear
bear
」的最後一位
刪去當前字串的第一位
繼續找,直到字串為空
#include
#include
#include
using namespace std;
string s;
int l,x,ans;
int main(
) s.erase(0,1)
; //刪除第一位
} printf(
"%d\n",ans)
;return 0;
}
字串題解
求有多少個長度為 n 僅包含前 k 個小寫字母且包含至少乙個長度不少於 2 的回文串的字串作為子串。對於 k 26 的情況,你只需要把每個字母當成乙個與其他字母均不同的字母,而無需關注它具體是什麼符號。答案需要對 998244353 乙個質數 取模。1 le n,k le 10 9 example ...
相同字串問題 題解
n張寫有字串的卡片,已知第i張卡片上的字串長度為ai。某人兩次從n張卡片中隨機抽取k1,k2張卡片,方法如下 其隨意抽出一張卡片,並記下卡上的字串,再將卡放回原處,這樣抽出ki張卡後,將每次抽出的字串順序排列起來,就得到乙個長度為ki次抽取的字串總長的新字串。如果我們把每張卡片上的字串都用規定長度的...
題解2 Supper字串
基本思路 為了簡便,先把整個字串對應的字母都換成大寫或小寫,然後對每乙個出現的字母進行記錄次數,把最大的那個次數求出來,乘以2與n進行比較,滿足條件則直接輸出,否則n 進行判斷,最後將符合條件的輸出。ac include include using namespace std intmain for...