字串題解

2022-02-13 20:38:54 字數 752 閱讀 7751

求有多少個長度為 \(n\) ,僅包含前 \(k\) 個小寫字母且包含至少乙個長度不少於 \(2\) 的回文串的字串作為子串。對於 \(k>26\) 的情況,你只需要把每個字母當成乙個與其他字母均不同的字母,而無需關注它具體是什麼符號。答案需要對 \(998244353\)(乙個質數)取模。

\(1\le n,k \le 10^9\)

example

in3 3

out21

看到資料範圍,發現數學題沒跑。開始找規律

3 3

1 1 123

2 12

3 13

2 1 12

2 123

3 23

3 1 13

2 23

3 123

大概就是3*3*3-3*2

然後再推個幾下就會發現式子

\(ans=k^n-k*(k-1)*(k-2)^\)

然後寫**就是有手就行

#include #define mod 998244353

#define int long long

using namespace std ;

int n , k ;

inline int pow ( int a , int b )

return res ;

}signed main ()

}

字串 題解

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

相同字串問題 題解

n張寫有字串的卡片,已知第i張卡片上的字串長度為ai。某人兩次從n張卡片中隨機抽取k1,k2張卡片,方法如下 其隨意抽出一張卡片,並記下卡上的字串,再將卡放回原處,這樣抽出ki張卡後,將每次抽出的字串順序排列起來,就得到乙個長度為ki次抽取的字串總長的新字串。如果我們把每張卡片上的字串都用規定長度的...

題解2 Supper字串

基本思路 為了簡便,先把整個字串對應的字母都換成大寫或小寫,然後對每乙個出現的字母進行記錄次數,把最大的那個次數求出來,乘以2與n進行比較,滿足條件則直接輸出,否則n 進行判斷,最後將符合條件的輸出。ac include include using namespace std intmain for...