洛谷P3390 矩陣快速冪 模板

2021-10-12 10:01:59 字數 936 閱讀 2215

給定 n×n 的矩陣 a ,求ak

第一行兩個整數 n,k 接下來 n 行,每行 n 個整數,第 i 行的第 j 的數表示 a i,j

輸出ak

共 n 行,每行 n 個數,第 i 行第 j 個數表示 ak i,j ,每個元素對109+7取模。

輸入 #1

211

1111

23

輸出 #1

111

112

矩陣乘法和矩陣快速冪的模板題

關鍵就是重新定義 「∗

*∗」 。

讓乘號定義成矩陣乘法。

然後直接呼叫就行了。

#include

#include

#include

using

namespace std;

typedef

long

long ll;

ll n,k;

const

int mod=

1000000007

;struct matrix

a,b;

matrix operator

*(matrix a,matrix b)

}for

(int k=

1;k<=n;k++)}

}return c;

}void

ksm(ll x)

ksm(x/2)

; b=b*b;

if(x&

1) b=b*a;

}int

main()

}ksm

(k);

for(

int i=

1;i<=n;i++

) cout<}return0;

}

洛谷 P3390 模板 矩陣快速冪

時空限制1000ms 128mb 矩陣快速冪 給定n n的矩陣a,求a k.第一行,n,k 第2至n 1行,每行n個數,第i 1行第j個數表示矩陣第i行第j列的元素 輸出a k 共n行,每行n個數,第i行第j個數表示矩陣第i行第j列的元素,每個元素模10 9 7 2 1 1 11 1 1 1 1 1...

模板 矩陣快速冪 洛谷 P3390

題目背景 矩陣快速冪 題目描述 給定 n times nn n 的矩陣 aa,求 a kak。輸入格式 第一行兩個整數 n,kn,k 接下來 nn 行,每行 nn 個整數,第 ii 行的第 jj 的數表示 a a i,j 輸出格式 輸出 a ka k共 nn 行,每行 nn 個數,第 ii 行第 j...

洛谷P3390 模板 矩陣快速冪

矩陣快速冪 給定n n的矩陣a,求a k 輸入格式 第一行,n,k 第2至n 1行,每行n個數,第i 1行第j個數表示矩陣第i行第j列的元素 輸出格式 輸出a k 共n行,每行n個數,第i行第j個數表示矩陣第i行第j列的元素,每個元素模10 9 7 輸入樣例 1 2 1 1 11 1 輸出樣例 1 ...