http://poj.org/problem?id=3070

按已构造好的矩阵,那么该矩阵的n次方的右上角的数便是f[n]。


#include <stdio.h>
#include <iostream>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
#include <stdlib.h>
#include <algorithm>
#define LL long long
#define _LL __int64
#define eps 1e-12
#define PI acos(-1.0)
#define C 240
#define S 20
using namespace std;const int maxn = 110;struct matrix
{int mat[3][3];void init(){memset(mat,0,sizeof(mat));mat[1][1] = mat[2][2] = 1;}
}a;matrix mul(matrix a, matrix b)
{matrix res;memset(res.mat,0,sizeof(res.mat));for(int i = 1; i <= 2; i++){for(int k = 1; k <= 2; k++){if(a.mat[i][k] == 0) continue;for(int j = 1; j <= 2; j++){int t = a.mat[i][k]*b.mat[k][j];res.mat[i][j] = (res.mat[i][j] + t)%10000;}}}return res;
}matrix pow(matrix a, int n)
{matrix res;res.init();while(n){if(n&1)res = mul(res,a);a = mul(a,a);n >>= 1;}return res;
}int main()
{int n;while(~scanf("%d",&n)){if(n == -1) break;a.mat[1][1] = a.mat[1][2] = a.mat[2][1] = 1;a.mat[2][2] = 0;matrix ans = pow(a,n);printf("%d\n",ans.mat[1][2]);}return 0;
}

转载于:https://www.cnblogs.com/bhlsheji/p/4183357.html

矩阵经典题目六:poj 3070 Fibonacci相关推荐

  1. 矩阵快速幂 POJ 3070 Fibonacci

    题目传送门 1 /* 2 矩阵快速幂:求第n项的Fibonacci数,转置矩阵都给出,套个模板就可以了.效率很高啊 3 */ 4 #include <cstdio> 5 #include ...

  2. POJ 3070 Fibonacci(矩阵快速幂入门、模板)

    ? 题目链接:http://poj.org/problem?id=3070 ?   这题就是让求斐波那契数列的第n项,但是题目中n很大,所以打表和直接求都会TLE,对于这个题我们可以用矩阵快速幂,下面 ...

  3. POJ - 3070 Fibonacci

    题目已经告诉你斐波那契矩阵算法了... 所以需要用到矩阵快速幂,看起来名字很diao但其实和普通快速幂基本一毛一样... 1 #include <iostream> 2 #include ...

  4. POJ 3070 Fibonacci

    裸奔的矩阵乘法,当模板了. #include <iostream>#include <cstring>#include <cstdio> using namespa ...

  5. H - Fibonacci POJ - 3070 (矩阵快速幂)

    H - Fibonacci POJ - 3070 (矩阵快速幂) Description In the Fibonacci integer sequence, F0 = 0, F1 = 1, and ...

  6. 十个利用矩阵乘法解决的经典题目

    出自matrix67.com 好像目前还没有这方面题目的总结.这几天连续看到四个问这类题目的人,今天在这里简单写一下.这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质.     不要以为数学 ...

  7. 【转】矩阵十大经典题目

    经典题目1 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置.操作有平移.缩放.翻转和旋转     这里的操作是对所有点同时进行的.其中翻转是以坐标轴为对称轴进行翻转(两种情况), ...

  8. 十个利用矩阵解决的经典题目

    借鉴做题: 经典题目1 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置.操作有平移.缩放.翻转和旋转     这里的操作是对所有点同时进行的.其中翻转是以坐标轴为对称轴进行翻转( ...

  9. 矩阵乘法的经典题目_源自Matrix67_

    嘛,都刷一遍好辣. 矩阵 Am∗n A_{m*n}就是一个m行n列的数表. 考虑矩阵的乘法: C=A∗B=∑aik∗bkj C = A * B = \sum a_{ik}*b_{kj} 那么对于矩阵A ...

最新文章

  1. Spring的PropertyPlaceholderConfigurer事例应用
  2. 分布式缓存DistributedCache的使用
  3. dell r220服务器配置oracle linux 阵列卡,如何在Dell服务器PERC5/6阵列卡配置RAID
  4. node n 切换node版本失败_记一次 node-sass@4.x 安装失败
  5. 学生选课数据库SQL语句练习题——成绩表
  6. MR作业的提交监控、输入输出控制及特性使用
  7. java 七巧板油漆问题_七巧板颜色填充的问题?
  8. CCNA试验-NAT
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上拍卖秒杀竞价系统
  10. c+ socket编程
  11. 安装运行jupyter notebook时报错:ModuleNotFoundError: No module named 'prompt_toolkit.formatted_text'...
  12. .net连接SqlServer数据库
  13. vscode最适合编程的 6 种字体
  14. 写一篇meta分析要多少时间?如何写好一篇Meta分析,你需要这样做
  15. ftp误删服务器文件恢复,ftp服务器文件误删
  16. mysql求回购率_用户行为分析——回购率、复购率(SQL、Python求解)
  17. MCV 和 MTV框架基本信息
  18. 计算机考研难度档,计算机考研院校报考难度排行
  19. Android 内存泄露
  20. 腾讯云服务器的稳定性和安全性怎么样?

热门文章

  1. React基础篇(六)React中绑定事件的注意点
  2. Android中使用系统相机进行拍照并获取高清照片(一)
  3. ArcGIS10.6 通过ArcMap发布二维数据服务。
  4. django中的urlpatterns的正则语法
  5. Python__名称空间与作用域
  6. FormView用法
  7. [ES6] 细化ES6之 -- Class关键字
  8. 从事web前端两年半后的迷茫
  9. LeetCode--84.柱状图中最大的矩形(暴力法,单调栈)
  10. 安装 Tensorflow