矩阵快速幂
来源:互联网 发布:php 数组key长度限制 编辑:程序博客网 时间:2024/06/05 19:39
题目链接:点击打开链接
代码:
#include<iostream>#include<cmath>#include<cstdio>#include<sstream>#include<cstdlib>#include<string>#include<string.h>#include<cstring>#include<algorithm>#include<vector>#include<map>#include<set>#include<stack>#include<list>#include<queue>#include<ctime>#include<bitset>#define eps 1e-6#define INF 0x3f3f3f3f#define PI acos(-1.0)#define ll long long#define lson l,m,(rt<<1)#define rson m+1,r,(rt<<1)|1#define M 1000000007using namespace std;typedef struct{ int m[2][2];} Matrix;Matrix p;Matrix I= {1,0,0,1};Matrix matrixmul(Matrix a,Matrix b){ int i,j,k; Matrix c; for(i=0; i<2; i++) for(j=0; j<2; j++) { c.m[i][j]=0; for(k=0; k<2; k++) c.m[i][j]+=(a.m[i][k]*b.m[k][j]); c.m[i][j]%=7; } return c;}Matrix quickpow(ll n){ Matrix m=p,b=I; while(n>=1) { if(n&1) b=matrixmul(b,m); n>>=1; m=matrixmul(m,m); } return b;}int main(){ Matrix ans; int n; char a[100005]; while(~scanf("%s",a)) { scanf("%d %d %d %d",&p.m[0][0],&p.m[0][1],&p.m[1][0],&p.m[1][1]); n=0; for(int i=0; a[i]; i++) { n=(n*10+(a[i]-'0'))%2016; } ans=quickpow(n); printf("%d %d\n%d %d\n",ans.m[0][0],ans.m[0][1],ans.m[1][0],ans.m[1][1]); } return 0;}先放着,明天研究。
0 0
- 快速矩阵快速幂
- 转移矩阵+矩阵快速幂
- 矩阵乘法 矩阵快速幂
- 构造矩阵+矩阵快速幂
- 矩阵快速幂,矩阵加法,矩阵乘法
- 快速幂||矩阵快速幂
- 快速幂&矩阵快速幂
- 快速幂,矩阵快速幂
- 快速幂 矩阵快速幂
- 快速幂&矩阵快速幂
- 【快速幂】【矩阵快速幂】
- 快速幂和快速矩阵
- poj3070--矩阵 快速幂
- POJ3233矩阵快速幂
- poj3070Fibonacci 矩阵快速幂
- 矩阵的快速幂
- 矩阵快速幂
- 矩阵的快速幂
- Codeforces 577 B Modulo Sum 简单数学+dp
- 4-11 求自定类型元素序列的中位数 (25分)
- 习题 6-14 UVA - 12118 Inspector's Dilemma 检察员的难题 (DFS 构造欧拉通路)
- 我的经验:指针和指针的引用
- nodejs基于async waterfall/retry的出错重试流程设计
- 矩阵快速幂
- Fragment+自定义RadioButton实现底部导航栏,仿QQ
- linux下合并文件夹
- Javascript算法练习(四)
- 第一天:制定项目章程
- 漫谈C++:良好的编程习惯与编程要点【2】
- 6月-月总结
- SICP 习题2.42 八皇后问题
- bzoj4571【SCOI2016】美味