矩陣乘法 GT考試

2021-10-04 07:36:06 字數 1218 閱讀 9896

阿申準備報名參加 gt 考試,准考證號為 nn

位數 x1x2⋯xnx1x2⋯xn

,他不希望准考證號上出現不吉利的數字。他的不吉利數字 a1a2⋯ama1a2⋯am

有 mm

位,不出現是指 x1x2⋯xnx1x2⋯xn

中沒有恰好一段等於 a1a2⋯ama1a2⋯am

,a1a1

和 x1x1

可以為 00

。輸入格式第一行輸入 n,m,kn,m,k

。接下來一行輸入 mm

位的不吉利數字。輸出格式阿申想知道不出現不吉利數字的號碼有多少種,輸出模 kk

取餘的結果。資料範圍0≤xi,ai≤90≤xi,ai≤9

,1≤n≤1091≤n≤109

,1≤m≤201≤m≤20

,2≤k≤10002≤k≤1000

輸入樣例:4 3 100

111輸出樣例:81

#include

#include

#include

#include

using

namespace std;

const

int n =25;

int n, m, mod;

char str[n]

;int ne[n]

;int a[n]

[n];

void

mul(

int c[

][n]

,int a[

][n]

,int b[

][n]

)int

qmi(

int k)

;while

(k)int res =0;

for(

int i =

0; i < m; i ++

) res =

(res + f0[0]

[i])

% mod;

return res;

}int

main()

for(

int j =

0; j < m; j ++

)for

(int c =

'0'; c <=

'9'; c ++

) cout <<

qmi(n)

<< endl;

return0;

}

bzoj1009 GT考試 dp 矩陣快速冪

題意 構造乙個字串 數字0 9 不含乙個子串的個數 我這麼蒟蒻腫麼可能想到是dp嘛 定義f i j 表示當前構造了i位,與模式串p匹配了前j位的方案數 然後列舉下一位填什麼,然後乘上當前構造出來的和模式串匹配到k的方案數。即是f i 1 k f i j a j k 因為從j轉移到k,可以用的數字不一...

BZOJ 1009 GT考試 KMP 矩陣快速冪

題意 b為非法數字b 1 b m 其位數 20.某個數有n位,每位可以填入 0,9 n 1e9 問有多少種填數字方案,滿足n位中沒有非法數字m出現?先不考慮n範圍 則可以設定dp i j 表示放了合法放了前i位,其字尾j和非法的前j位相同的方法數.轉移狀態顯然是一位一位新增 顯然dp i 1 j 1...

BZOJ 1009 GT考試(dp 矩陣快速冪)

description 阿申準備報名參加gt g t考試,准考證號為 n n 位數x1 x2.xn 0 x i 9 role presentation style position relative x1x 2.xn 0 x i 9 x1x2.xn 0 x i 9 他不希望准考證號上出現不吉利的數字...