POJ 3070 矩阵经典6 最基础的Fibonacci递推
来源:互联网 发布:淘宝瑜伽服哪家店铺好 编辑:程序博客网 时间:2024/05/21 11:25
#include<cstdio>#include<cstring>using namespace std;typedef long long int ll;const ll mod = 10000;const int maxn=3;struct matrix{ ll arr[maxn][maxn]; matrix operator*(matrix b){ matrix ans; ll tmp; for(int i=0; i<maxn; i++) for(int j=0; j<maxn; j++){ ans.arr[i][j] = 0; for(int k=0; k<maxn; k++){ tmp = (arr[i][k]*b.arr[k][j])%mod; ans.arr[i][j] = (ans.arr[i][j] + tmp)%mod; } } return ans; }};matrix quick_pow(matrix a,ll N){ matrix ans; memset(ans.arr,0,sizeof(ans.arr)); for(int i=0; i<maxn; i++) ans.arr[i][i] = 1; while(N){ if(N&1) ans = ans*a; a = a*a; N /= 2;; } return ans;}int main(){ ll n; matrix a; while(scanf("%lld",&n)&&n!=-1){ if(n==0){ printf("0\n"); continue; } memset(a.arr,0,sizeof(a.arr)); int b[2][2]={1,1,1,0}; for(int i=0;i<2;i++) for(int j=0;j<2;j++) a.arr[i][j]=b[i][j]; a=quick_pow(a,n-1); printf("%lld\n",a.arr[0][0]); } return 0;}
阅读全文
0 0
- POJ 3070 矩阵经典6 最基础的Fibonacci递推
- 【POJ】3070 Fibonacci 递推+矩阵优化
- poj 3070 Fibonacci(矩阵优化递推入门)
- 矩阵经典题目六:poj 3070 Fibonacci
- poj 3070 Fibonacci 矩阵基础题
- POJ 3070 Fibonacci (矩阵)
- 矩阵十大经典题目之六- poj-3070-Fibonacci
- poj--3070 fibonacci的矩阵幂做法
- hdu1588---Gauss Fibonacci(矩阵,线性递推)
- poj 3070 Fibonacci(矩阵运算)
- POJ 3070(Fibonacci-矩阵幂)
- POJ 3070 Fibonacci 矩阵乘法
- poj 3070 Fibonacci【矩阵斐波拉切】
- POJ 3070 Fibonacci【矩阵快速幂】【感受数论的神奇】
- POJ-3070-Fibonacci-求Fibonacci的矩阵方法,O(log(n))
- POJ 3070 Fibonacci (矩阵快速幂 Fibonacci数列新求法)
- POJ 3070 Fibonacci (矩阵快速幂求fibonacci)
- POJ-3070 Fibonacci(矩阵快速幂求Fibonacci数列)
- 商品分类无限级分类处理小例子
- rpath和runpath的区别
- 使用python编程,解析PE文件(全过程)
- 有关http协议的阅读总结
- AppScan发生内部错误解决办法
- POJ 3070 矩阵经典6 最基础的Fibonacci递推
- js基础点
- AlphaGo Zero ( 阿尔法元 ) 简介
- lombok set get
- spring boot 获取jar 中xml文件属性
- 沟通技巧落地
- java.lang.NoSuchMethodError: org.springframework.expression.spel.SpelParserConfiguration
- char* char[]及string的区别及相互转换
- Jzzhu and Cities CodeForces