矩阵快速幂--模板
来源:互联网 发布:ae for mac中文破解版 编辑:程序博客网 时间:2024/04/30 05:11
http://acm.bit.edu.cn/mod/programming/view.php?id=670
The Little Architect II
#include<stdio.h>#include<string.h>//dp方程:f[n]=3*f[n-1]+3*f[n-2]-f[n-3];//矩阵快速幂 。。 模板//构造矩阵// 3 1 0// 3 0 1//-1 0 0struct node{long long a[3][3];};long long n,p;node cheng(node A,node B){node C;memset(C.a,0,sizeof(C.a));int i,j,k;for(i=0;i<3;i++)for(j=0;j<3;j++){for(k=0;k<3;k++)C.a[i][j]+=A.a[i][k]*B.a[k][j];C.a[i][j]%=p;}return C;}int main(){int i,j,k;node I,T;while(~scanf("%lld%lld",&n,&p)){long long b[3]={2,9,32};for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j) I.a[i][j]=1;else I.a[i][j]=0;memset(T.a,0,sizeof(T.a));T.a[0][0]=3,T.a[1][0]=3,T.a[2][0]=-1;T.a[0][1]=1,T.a[1][2]=1;if(n<=3)printf("%lld\n",b[n-1]%p);else{n-=3;while(n>0){if(n&1==1) I=cheng(I,T);n>>=1;T=cheng(T,T);}long long ans=(b[2]*I.a[0][0]+b[1]*I.a[1][0]+b[0]*I.a[2][0])%p;if(ans<0) ans+=p;printf("%lld\n",ans);}}}
- 矩阵快速幂模板
- 矩阵快速幂--模板
- 矩阵快速幂 模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 【矩阵快速幂模板】
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂【模板】
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂 【模板】
- 快速矩阵幂模板
- numpy数组与python的list互转,然后用json写入文件与c交互
- .py to .exe (by py2exe)
- 不是技术牛人,如何拿到国内IT巨头的Offer
- 基于STK的编队飞行队形保持控制及仿真
- 计算机图形学 -- Reshape函数
- 矩阵快速幂--模板
- 养心莫若寡欲
- 计算机视觉目标检测的框架与过程
- Eclipse快捷键大全(转载)
- 正心诚意毋自欺
- Problem 2122 又见LKity fzu 2122
- 查端口号占用情况 及关闭办法
- Python中的easy_install
- 析取范式,合取范式