求有多少個長度為 \(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...