51nod 1242 斐波那契数列的第N项 (矩阵快速幂)
来源:互联网 发布:iphone打电话变声软件 编辑:程序博客网 时间:2024/05/09 14:49
斐波那契数列的定义如下:
F(0) = 0
F(1) = 1
F(n) = F(n - 1) + F(n - 2) (n >= 2)
(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, ...)
给出n,求F(n),由于结果很大,输出F(n) % 1000000009的结果即可。
Input
输入1个数n(1 <= n <= 10^18)。
Output
输出F(n) % 1000000009的结果。
Input示例
11
Output示例
89
#include <iostream>#include <algorithm>#include <cmath>#define MOD 1000000009#define N 2using namespace std;struct Matrix {long long v[N][N];};Matrix matrix_mul(Matrix A, Matrix B, long long m){Matrix ans;for (int i = 0; i < N; i++){for (int j = 0; j < N; j++){ans.v[i][j] = 0;for (int k = 0; k < N; k ++){ans.v[i][j] += (A.v[i][k] * B.v[k][j]) % m;}ans.v[i][j] %= m;}}return ans;}Matrix matrix_pow(Matrix C, long long n, long long m){Matrix ans = {1, 0, 0, 1};while (n){if (n & 1)ans = matrix_mul(ans, C, m);C = matrix_mul(C, C, m);n >>= 1;}return ans;}int main(){long long n;Matrix temp1 = {1, 1, 1, 0}, temp2 = {1, 0, 1, 0}; // temp2{f[2],0,f[1],0}!!!!! temp1[a,b,1,0] ---> f[n]=a*f[n-1]+b*f[n-2]while (cin >> n){if (n < 2){cout << 1 << endl;continue;}Matrix res = matrix_pow(temp1, n - 2, MOD);res = matrix_mul(res, temp2, MOD);cout << res.v[0][0] << endl;}return 0;}
0 0
- 51nod 1242 斐波那契数列的第N项(矩阵快速幂)
- 51nod 1242 斐波那契数列的第N项 (矩阵快速幂)
- 【51Nod】1242 - 斐波那契数列的第N项(矩阵快速幂)
- 51nod 1242 斐波那契数列的第N项(矩阵快速幂)
- 51nod 1242 斐波那契数列的第N项【矩阵快速幂】
- [51NOD]-1242 斐波那契数列的第N项 [矩阵快速幂]
- 51 nod 1242 斐波那契数列的第N项 矩阵快速幂
- 51Nod 1242 斐波那契数列的第N项(矩阵快速幂)
- 51Nod-斐波那契数列的第N项(矩阵快速幂)
- 51nod 1242 斐波那契数列的第N项(矩阵幂运算)
- 51nod--1242 斐波那契数列第N项 (矩阵乘法优化)
- 1242 斐波那契数列的第N项(矩阵快速幂)
- 1242 斐波那契数列的第N项(矩阵快速幂)
- 矩阵快速幂1242斐波那契数列的第N项
- 【51NOD1242】斐波那契数列的第N项(矩阵快速幂)
- 斐波那契数列的第N项(矩阵快速幂模板)
- 51nod 1242 斐波那契数列的第N项(O(logn)求递推式)
- 斐波那契数列的第N项(1≤n≤10^18 矩阵快速幂)
- Oracle的翻页Sql语句
- Invariants, Preconditions and Postconditions不变条件,先验条件和后验条件
- 程序员的10条建议
- 随机森林
- JSON详解
- 51nod 1242 斐波那契数列的第N项 (矩阵快速幂)
- 编译mpeg4ip遇到的问题
- BZOJ1965 洗牌
- coderforce 581B Luxurious Houses(线段树求区间最大)
- 出栈序列统计—中学高级本
- 日志库EasyLogging++学习系列(7)—— 记录方式详解
- 自适应开发学习
- NSCondition的用法
- php curl用法