Tr A(矩陣快速冪)

2022-05-29 18:39:08 字數 966 閱讀 5244

題目:problem description

a為乙個方陣,則tr a表示a的跡(就是主對角線上各項的和),現要求tr(a^k)%9973。

input

資料的第一行是乙個t,表示有t組資料。

每組資料的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)兩個資料。接下來有n行,每行有n個資料,每個資料的範圍是[0,9],表示方陣a的內容。

output

對應每組資料,輸出tr(a^k)%9973。

sample input

22 2

1 00 1

3 99999999

1 2 3

4 5 6

7 8 9

sample output

22686

思路:本題要想用矩陣快速冪就得借助單位矩陣(或許是其他方法我沒想到吧……),然後就又是乙個套模板的題了》_<

**實現如下:

1 #include 2 #include 3

4const

int mod = 9973;5

intt, n, k;

6int a[15][15], t[15][15];7

8void mul(int a[15][15], int b[15][15

]) 16}17

}18 memcpy(a, c, sizeof

(c));19}

2021

22int

main() 32}

33for(; k; k >>= 1

) 37

long

long ans = 0;38

for(int i = 0; i < n; i++)

41 printf("

%lld\n

", ans %mod);42}

43return0;

44 }

Tr A(矩陣快速冪)

description a為乙個方陣,則tr a表示a的跡 就是主對角線上各項的和 現要求tr a k 9973。input 資料的第一行是乙個t,表示有t組資料。每組資料的第一行有n 2 n 10 和k 2 k 10 9 兩個資料。接下來有n行,每行有n個資料,每個資料的範圍是 0,9 表示方陣a...

矩陣快速冪 Tr A

a為乙個方陣,則tr a表示a的跡 就是主對角線上各項的和 現要求tr a k 9973。資料的第一行是乙個t,表示有t組資料。每組資料的第一行有n 2 n 10 和k 2 k 10 9 兩個資料。接下來有n行,每行有n個資料,每個資料的範圍是 0,9 表示方陣a的內容。對應每組資料,輸出tr a ...

Tr A 矩陣快速冪

a為乙個方陣,則tr a表示a的跡 就是主對角線上各項的和 現要求tr a k 9973。input 資料的第一行是乙個t,表示有t組資料。每組資料的第一行有n 2 n 10 和k 2 k 10 9 兩個資料。接下來有n行,每行有n個資料,每個資料的範圍是 0,9 表示方陣a的內容。output 對...