Codevs_P1732 Fibonacci数列 2(矩阵快速幂)
来源:互联网 发布:优站目录源码 编辑:程序博客网 时间:2024/06/09 21:51
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 钻石 Diamond
题目描述 Description
在“1250 Fibonacci数列”中,我们求出了第n个Fibonacci数列的值。但是1250中,n<=109。现在,你的任务仍然是求出第n个Fibonacci数列的值,但是注意:n为整数,且1 <= n <= 100000000000000
输入描述 Input Description
输入有多组数据,每组数据占一行,为一个整数n(1 <= n <= 100000000000000)
输出描述 Output Description
输出若干行。每行输出第(对应的输入的)n个Fibonacci数(考虑到数会很大,mod 1000000007)
样例输入 Sample Input
3
4
5
样例输出 Sample Output
2
3
5
数据范围及提示 Data Size & Hint
1 <= n <= 100000000000000
#include<cstdio>#include<vector>#include<iostream>using namespace std;#define Mod 1000000007typedef vector<long long> vec;typedef vector<vec> mat;long long n;mat mul(mat &A,mat &B){ mat C(A.size(),vec(B[0].size())); for(int i=0;i<A.size();i++) for(int k=0;k<B.size();k++) for(int j=0;j<B[0].size();j++) C[i][j]=(C[i][j]+A[i][k]*B[k][j])%Mod; return C;}mat pow(mat A,long long n){ mat B(A.size(),vec(A.size())); for(int i=0;i<A.size();i++) B[i][i]=1; while(n>0){ if(n&1) B=mul(B,A); A=mul(A,A); n>>=1; } return B;}void solve(){ mat A(2,vec(2)); A[0][0]=1,A[0][1]=1; A[1][0]=1,A[1][1]=0; A=pow(A,n); printf("%lld\n",A[1][0]);}int main(){ while(scanf("%lld",&n)!=EOF){ solve(); } return 0;}
0 0
- Codevs_P1732 Fibonacci数列 2(矩阵快速幂)
- fibonacci数列矩阵快速幂
- 【codevs1732】Fibonacci数列 2(矩阵快速幂)
- 【codevs1732】Fibonacci数列 2(矩阵快速幂)
- 矩阵快速幂 求Fibonacci数列poj3070
- Codevs_P1250 Fibonacci数列(矩阵快速幂)
- 矩阵快速幂求Fibonacci数列
- 【数论】矩阵快速幂求Fibonacci数列
- 矩阵快速幂入门 + 求Fibonacci数列
- Fibonacci数列(矩阵乘法快速幂)
- Fibonacci数列(矩阵乘法快速幂)
- 矩阵快速幂 CodeVS 1250 Fibonacci数列
- 【矩阵快速幂相乘求Fibonacci 数列】PKU-3070-Fibonacci
- POJ 3070 Fibonacci (矩阵快速幂 Fibonacci数列新求法)
- POJ-3070 Fibonacci(矩阵快速幂求Fibonacci数列)
- 快速Fibonacci数列,矩阵法
- Fibonacci 数列快速幂
- NYOJ 题目148 fibonacci数列(二)(矩阵快速幂)
- LeetCode_79 Word Search
- Leetcode bit manipulation 总结
- BigBench: Toward An Industry-Standard Benchmark for Big Data Analytics
- 注意OD仅以16进制解析指令立即数
- Leetcode 322. Coin Change
- Codevs_P1732 Fibonacci数列 2(矩阵快速幂)
- Java 解析 XML
- BOOL与bool的区别
- 【codevs1959】拔河比赛
- code vs拔河比赛
- 给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。
- MyCat - 背景篇(2)
- C++ DirectX 游戏开发初级视频教程 19 资源下载链接
- 昨日参加hackerrank一比赛总结