矩阵快速幂
2015-10-15 09:05
357 查看
快速计算递推式
struct Matrix { int F[10][10]; }; inline Matrix Mul(Matrix A,Matrix B) { Matrix C; int i,j,k; for(i=1;i<=4;i++) for(j=1;j<=4;j++) { C.F[i][j]=0; for(k=1;k<=4;k++) { C.F[i][j]+=(A.F[i][k]*B.F[k][j])%MOD; C.F[i][j]%=MOD; } } return C; } inline Matrix POW(Matrix A,int n) { Matrix ret,temp;temp=A; for(int i=1;i<=4;i++) for(int j=1;j<=4;j++) ret.F[i][j]=0; for(int i=1;i<=4;i++) ret.F[i][i]=1; while(n) { if(n&1) ret=Mul(ret,temp); temp=Mul(temp,temp); n>>=1; } return ret; }
相关文章推荐
- Thinkphp—发布文章时显示所有的栏目及其对应子栏目-示例如下
- Codeigniter使用phpexcel
- 2015/10/15学习记录-偏执却管用的 10 条 Java 编程技巧
- 北京西城区的日子
- vmware双网卡研究
- 串口通讯—通信协议
- 《需求工程——软件建模与分析》第一篇
- 怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件
- Python(二)在PyCharm下的键盘抓取函数
- 嵌入式产品开发流程
- 反汇编一个简单的C程序
- 009.判断登陆信息
- Qt 多线程
- JavaScript跨域总结与解决办法
- 并查集路径压缩
- 数据库异常:“Column 'CODE' in where clause is ambiguous”
- Entity Framework 数据生成选项DatabaseGenerated
- String.split()函数使用注意事项
- js操作cookie
- QT 多线程程序设计