链接
题目描述
给出一个nn的矩阵和一个正整数k ,求S = A * A^2 * A ^ 3… A^k 。矩阵中的每个数对 取模。
思路
构建一个矩阵B,左上放一个矩阵A,右上放一个大小相同的单位矩阵,右下也放一个同样大小的单位矩阵,然后直接跑快速幂就好了
代码
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define ll long long
using namespace std;
ll n, m, tk;
struct matrix
{
ll n, m;
ll a[105][105];
}A, B, Ans;
void pre()
{
for(int i = 1; i <= 2 * n; ++i)
Ans.a[i][i] = 1;
B.n = B.m = Ans.n = Ans.m = n * 2;
}
matrix operator