U23584.【模板】矩阵快速幂
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:256MB
题目描述
题目背景
一个 m×n 的矩阵是一个由 m 行 n 列元素排列成的矩形阵列。即形如
A=a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn.
本题中认为矩阵中的元素 aij 是整数。
两个大小分别为 m×n 和 n×p 的矩阵 A,B 相乘的结果为一个大小为 m×p 的矩阵。将结果矩阵记作 C,则
cij=k=1∑naikbkj,(1≤i≤m, 1≤j≤p).
而如果 A 的列数与 B 的行数不相等,则无法进行乘法。
可以验证,矩阵乘法满足结合律,即 (AB)C=A(BC)。
一个大小为 n×n 的矩阵 A 可以与自身进行乘法,得到的仍是大小为 n×n 的矩阵,记作 A2=A×A。进一步地,还可以递归地定义任意高次方 Ak=A×Ak−1,或称 Ak=k 次A×A×⋯×A。
特殊地,定义 A0 为单位矩阵 I=10⋮001⋮0⋯⋯⋱⋯00⋮1。
题目描述
给定 n×n 的矩阵 A,求 Ak。
输入格式
第一行两个整数 n,k。
接下来 n 行,每行 n 个整数,第 i 行的第 j 的数表示 Ai,j。
输出格式
输出 Ak
共 n 行,每行 n 个数,第 i 行第 j 个数表示 (Ak)i,j,每个元素对 109+7 取模。
输入输出样例
输入#1
2 1 1 1 1 1
输出#1
1 1 1 1
说明/提示
【数据范围】
对于 100% 的数据,1≤n≤100,0≤k≤1012,∣Ai,j∣≤1000。
搬题者注:时间 1s,空间 256MB。
矩阵模板题
0/5