HDU2855 Fibonacci Check-up 矩阵的应用
2011-12-30 11:06
162 查看
/* 两个数论公式: f(k) = ( (1+sqrt(5)) / 2 ) ^ k - ( (1-sqrt(5)) / 2) ^ k (1+a)^n = Sum(C(k|n) * (a^k)) 推导过程: Sum(C(k|n) * f(k)) = Sum(C(k|n) * ( (1+sqrt(5)) / 2 ) ^ k - ( (1-sqrt(5)) / 2) ^ k) = Sum(C(k|n) * (1+sqrt(5)) / 2 ) ^ k) - Sum(C(k|n) * (1-sqrt(5)) / 2 ) ^ k) = ( (3+sqrt(5)) / 2 ) ^ k - ( (3-sqrt(5)) / 2) ^ k = ( (1+sqrt(5)) / 2 ) ^ 2k - ( (1-sqrt(5)) / 2) ^ 2k = f(2k) 构造矩阵是浮云 Fn(1,2) = |f(n) f(n-1)| F1(1,2) = |f(1) f(1)| = |1 0| A(2,2) = |1 1| |1 0| */ #include "Mat.h" #include <iostream> using namespace std; int main() { Mat A(2,2),F(1,2); int t, n; scanf("%d", &t); while(t--) { scanf("%d%d", &n, &mod); if(n == 0) { printf("0\n"); continue; } A.clear(2);A.s[1][1] = 0; F.clear(1); A.Er_work(n*2-1); F.Multiply(A); printf("%d\n", F.s[0][0]); } return 0; }
相关文章推荐
- HDU2855 Fibonacci Check-up 矩阵的应用
- HDU2855 Fibonacci Check-up 矩阵的应用
- [hdu2855][矩阵乘法]Fibonacci Check-up
- hdu 2855 Fibonacci Check-up(矩阵乘法)
- hdu 2855 Fibonacci Check-up 矩阵+斐波那契通项公式
- hdu 2855 Fibonacci Check-up (矩阵)
- HDU - 2855 Fibonacci Check-up 斐波那契矩阵
- HDU_Steps8.3 矩阵应用 HDU1575 HDU1757 HDU2294 HDU2254 HDU2276 HDU2855 HDU3519 HDU3509
- hdoj 2855 Fibonacci Check-up 【打表找规律 + 矩阵快速幂】
- HDOJ 题目2855 Fibonacci Check-up(矩阵快速幂)
- HDU - 2855 Fibonacci Check-up 矩阵快速幂
- HDU 2855 Fibonacci Check-up 矩阵
- 【HDU 2855】 Fibonacci Check-up (矩阵乘法)
- 第9周项目2 对称矩阵压缩存储的实现与应用(2)
- 稀疏矩阵的三元组表示的应用(3.2)
- 第9周项目2 - 对称矩阵压缩存储的实现与应用(1)
- 第8周项目3- 对称矩阵压缩存储的实现与应用(3)
- 第九周项目2-对称矩阵压缩存储的实现与应用(1)
- 【第9周项目3-稀疏矩阵的三元组表示的实现及应用(1)】
- 快速幂及矩阵应用(学习)