以前学快速幂取模的时候也看到了矩阵快速幂,但无奈当时耐不下性子去看导致后面就不了了之了,现在学到数学模块,必须得掌握了,回头看看其实也就那么回事。
题目
这道题给的提示比较多,给了Fibonacci序列的矩阵形式,提示了运用矩阵幂的做法,是一道最基本的题目。
先上关于矩阵快速幂的模板:
const int maxn=2;
const int mod=10000;
struct matrix{
int m[maxn][maxn];
matrix()
{
memset(m,0,sizeof(m));
}
}; //定义矩阵并清零
matrix multi(matrix a,matrix b)
{
matrix res;
for(int i=0;i<maxn;i++)
{
for(int j=0;j<maxn;j++)
{
for(int k=0;k<maxn;k++