/* 两个数论公式: 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; }

转载于:https://www.cnblogs.com/windmissing/archive/2011/12/30/2559892.html

HDU2855 Fibonacci Check-up 矩阵的应用相关推荐

  1. 优美的Fibonacci数列与矩阵

    题目:http://codeforces.com/contest/392/problem/C 题意:给定Fibonacci数列F[],令,求的值. 分析:对于Fibonacci数列的题目来说一般要构造 ...

  2. hdu 3509 Buge's Fibonacci Number Problem(矩阵乘法+二项式)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3509 Buge's Fibonacci Number Problem Time Limit: 10000/ ...

  3. NOJI 148 fibonacci数列(二) 矩阵乘法二分幂

    第一次这样写以为不对的,自己撮合的着写的没想到对了,太激动了~.~ 点击打开链接 #include <stdio.h> #include <string.h> #include ...

  4. HDU2855—Fibonacci Check-up

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2855 题目意思:求一个式子g[n]=∑C(n,k)*f[k],n很大,很明显是一个矩阵快速幂.可以打表 ...

  5. 1250 Fibonacci数列(矩阵乘法快速幂)

    1250 Fibonacci数列  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 定义:f0=f1=1, fn=fn-1 ...

  6. 【codevs1250】Fibonacci数列,矩阵乘法入门

    Fibonacci数列 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 定义:f0=f1=1, fn=fn-1+fn-2 ...

  7. 斐波那契(Fibonacci)数列计算器设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/85734538 资源下载地址:https://download.csdn.net/downl ...

  8. 以每行5个数输出fib前20 c语言循环,打印Fibonacci数列方法汇总(前20项,每行5个)...

    NO.1 迭代法 标签:通俗.易懂 思路:先打印第一项.再在循环里面执行fib=fib1+fib2,把fib2赋给fib1,把fib赋给fib2,每行5个可使用if函数(循环次数对5取余). #inc ...

  9. 【整理】有待完成的题目

    mobius反演 bzoj2154Crash的数字表格 bzoj2693jzptab bzoj2440[中山市选2011]完全平方数 bzoj3994[SDOI2015]约数个数和 bzoj3930[ ...

最新文章

  1. 吴恩达卷积神经网络课程——第一周笔记
  2. (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  3. mysql bind param_为什么bindParam必须要指定类型?
  4. 配置两个不同kerberos认证中心的集群间的互信
  5. Java面试知识点:多线程
  6. 数据库查询语句慢如何优化_常见Mysql的慢查询优化方式
  7. 一个ALV(OO)的实例
  8. bcc挖矿用什么_IPFS挖矿与传统传统挖矿的区别
  9. 面试问题_教资面试,结构化面试问题分享
  10. HTML+CSS制作七夕跳动的红心动画效果
  11. 乌班图系统安装谷歌浏览器
  12. 微信社群运营是什么,如何做好社群运营?
  13. Elasticearch 搜索引擎(1
  14. 学习计算机网络感想,计算机网络学习心得体会
  15. 1字符集 iso latin_ISO Latin-1字符集
  16. 一款非常好用的Markdown文档编辑器Typora
  17. Speedoffice(word)如何修改行间距和段落间距
  18. java实现记录日志
  19. WriteFile操作时返回87错误
  20. 【踩坑记录】—— app运行闪退(Mac版)

热门文章

  1. cocos中如何让背景模糊_Cocos2d-x shader学习2: 模糊(Blur)
  2. php 跳转到指定url_PHP想要实现页面跳转功能具体怎么操作?(函数标签示例)...
  3. 字符串相乘Python解法
  4. python学习-数据类型(列表→创建、取值、大小、长度)
  5. alter在mysql_MySQL中ALTER用法小结
  6. linux卸载已安装的java_Linux 中如何卸载已安装的软件(转载)
  7. 在共享dll中使用mfc_在SpringBoot中使用Spring Session解决分布式会话共享问题
  8. redhat7.1安装mysql_redhat7.1 安装mysql 5.7.10步骤详解(图文详解)
  9. firefox 接受post 不完整_HTTP中GET与POST的区别,99 %的人都理解错了
  10. 什么?物联网方向也能发论文了?