【矩阵---求A的1到N次幂之和】
引例: Matrix Power Series : 题目大意,给定矩阵A,求A^ 1 +A^ 2 +A^ 3 +...A^N。 题解:已知X=a,可以通过以下矩阵求出ans=a^ 1 +a^ 2 +...a^ N ans =矩阵^n后第一行之和- 1 =矩阵^(n+ 1 )后右上格的和- 1 。 同理:矩阵也可以,只需要把1改为单位矩阵元即可。 左图a是常数,1就是1; 右图A是矩阵,1是单位元矩阵(主对角线是1)。 代码1:矩阵^N,第一行之和-1。 #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int maxn=70; int N,K,Mod; struct mat { int mp[maxn][maxn],len; mat(int x){ len=x; memset(mp,0,sizeof(mp)); } mat friend operator *(mat a,mat b) { mat res(a.len); for(int k=1;k<=res.len;k++) for(int i=1;i<=res.len;i++) for(int j=1;j<=res.len;j++) res.mp