矩阵快速幂模板(手撸一遍,一下午修改的头要爆炸了!!!!!!!)
果然是菜原罪╮(╯▽╰)╭
#define N 20//根据需要自行修改 struct node { int n; double rect[N][N]; struct node operator* (const node b) { node tem; tem.n=n; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { tem.rect[i][j]=0; for(int k=1;k<=n;k++) tem.rect[i][j]+=rect[i][k]*b.rect[k][j]; } return tem; }; }; node pin(node a,LL b)//aµÄb´ÎÃÝ { node ans; ans.n=a.n; for(int i=1;i<=a.n;i++) for(int j=1;j<=a.n;j++) { if(i==j) ans.rect[i][j]=1; else ans.rect[i][j]=0; } while(b) { if(b&1) ans=a*ans; b>>=1; a=a*a; } return ans; }