runxinzhi.com
首页
百度搜索
HDU2855 Fibonacci Checkup 矩阵的应用
/* 两个数论公式: 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; }
相关阅读:
HDU——1215七夕节(因数和)
UVa——400Unix ls(字典序文本处理输出iomanip)
廖雪峰Java5集合-3Map-Properties的使用
python图片和字符串的转换
廖雪峰Java5集合-3Map-1使用Map
廖雪峰Java5集合-2List-2编写equals方法
廖雪峰Java5集合-1Java集合简介-1Java结合简介
廖雪峰Java4反射与泛型-3泛型-7泛型和反射
廖雪峰Java4反射与泛型-3范型-6super通配符
廖雪峰Java4反射与泛型-3范型-5extends通配符
原文地址:https://www.cnblogs.com/windmissing/p/2559892.html
最新文章
AC自动机小结
cf 620C Pearls in a Row(贪心)
原码, 反码, 补码 详解
c语言中为什么左移不分符号数无符号数,而右移分呢??
666 专题十一 最小生成树
666 专题六 最短路练习
666 专题五 AC自动机
ACM程序设计选修课——1031: Hungar的得分问题(二)(杨辉三角+二进制转换)
ACM程序设计选修课——1044: (ds:队列)打印队列(queue模拟)
VK Cup 2016
热门文章
VK Cup 2016
ACM程序设计选修课——1024: 末位零(求末尾0的方法+可有可无的快速幂)
HDU——1042N!(大数阶乘乘法)
Codeforces Round #345 (Div. 2)——B. Beautiful Paintings(贪心求上升序列个数)
ACM程序设计选修课——1030: Hungar的时尚球场(水题+耐心)
Codeforces Round #345 (Div. 2)——A. Joysticks(模拟+特判)
HDU——2609How many(字符串的最小表示法+substr)
NOJ——1656搬砖(DP)
HDU——1286找新朋友(欧拉函数+质数打表)
UVa——1593Alignment of Code(string重定向+vector数组)
Copyright © 2020-2023
润新知