字串 題解

2021-10-09 09:33:43 字數 1452 閱讀 1625

字串

小熊有乙個由小寫英文本母組成的字串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...