矩阵乘法
来源:互联网 发布:linux服务器端口开放 编辑:程序博客网 时间:2024/06/05 20:11
构造一个
1 1 0
0 0 1
1 0 0的矩阵
然后乱搞乘法
注意最后输出为ans[1][1]+ans[2][1]+ans[3][1];
#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <stdio.h>#include <cstring>using namespace std;#define int long long#define p 1000000007typedef int arr[4][4];int n,m,k;int st,en;int ans[4][4];int a[4][4],temp[4][4];inlinevoid cheng(arr a,arr b){ memset(temp,0,sizeof(temp)); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { for(int k=1;k<=n;k++) { temp[i][j]+=a[i][k]*b[k][j]; temp[i][j]%=p; } } } memcpy(a,temp,sizeof(temp));}void mg(int x){ for(int i=1;i<=n;i++) ans[i][i]=1; while(x) { if(x&1) cheng(ans,a); x>>=1; cheng(a,a); } }main(){ int i,j,k; n=3; scanf("%d",&m); for(i=1;i<=m;i++) { memset(ans,0,sizeof(ans)); memset(a,0,sizeof(a)); a[1][1]=1;a[1][2]=1;a[3][1]=1;a[2][3]=1; scanf("%d",&k); if(k<=3){ cout<<1<<endl; continue; } mg(k-3); cout<<(ans[1][1]+ans[3][1]+ans[2][1])%p<<endl; }}//1 1 1 2 3 4 6 9
长期更新
阅读全文
0 0
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- WAS中通过集群的方式打开项目,报500的错误
- Android KK上对ALC5616调试笔记——音量调节
- fgm实例练习笔记-3.9倒计时
- 尾数前移问题
- POJ 3481 Double Queue [splay]
- 矩阵乘法
- 接口测试软件简要介绍
- java 对象锁
- 机器学习:线性回归和逻辑回归的区别
- DevExpress之WaitDialogForm
- 中文版iTween帮助文档、参数解析
- 获取百度地图
- centos 下 sphinx(coreseek)安装及常见问题
- String类深拷贝的现代写法和传统写法