zoukankan
html css js c++ java
HDU1588 Gauss Fibonacci 矩阵应用
/* 由f(n)=f(n-1)+f(n-2)构造矩阵 令 Fn(1,2) = |f(n) f(n-1)| A(2 2) = |1 1| |1 0| F1(1 2) = |1 0| Fn = F(n-1) * A = F1 * A ^ (n-1) 代入n = g(i) = k * i + b 得:Fn = F1 * A ^ (k * i + b - 1) 1)b > 1 Fn = F1 * A^(b-1) * (A^k)^i Sum(Fn) = F1 * A^(b-1) * Sum((A^k)^i) 2)b = 1 Fn = F1 * (A^k)^i Sum(Fn) = F1 * Sum((A^k)^i) 3)b = 0 Fn = F1 * A^(k-1) * (A^k)^i------------------n = n - 1 Sum(Fn) = F1 * A^(k-1) * Sum((A^k)^i)--------n = n - 1 其中Sum((A^k)^i)用solve进行二分求和 */ #include "Mat.h" #include <iostream> using namespace std; int main() { Mat A(2, 2), F1(1, 2), e(2, 2), ans(1, 2), temp(2, 2); int b, n, k; while(cin>>k>>b>>n>>mod) { //全1矩阵 A.clear(2);A.s[1][1] = 0; F1.clear(1); e.clear(1); ans.clear(); temp = A; if(b > 1) { temp.Er_work(b-1); F1.Multiply(temp); } else if(b == 0) { n--; temp.Er_work(k-1); F1.Multiply(temp); } A.Er_work(k); A.solve(n-1); A.Add(e); F1.Multiply(A); printf("%I64d\n",F1.s[0][0]); } return 0; }
查看全文
相关阅读:
window.open的小技巧分享
2019实习笔试编程题刷题心得
剑指offer——面试题32.1:分行从上到下打印二叉树
剑指offer——面试题32:从上到下打印二叉树
剑指offer——面试题30:包含min函数的栈
剑指offer——面试题29:顺时针打印矩阵
字节跳动2018校招测试开发方向(第二批)
剑指offer——面试题27:二叉树的镜像
剑指offer——二叉树
剑指offer——面试题26:判断二叉树B是否为二叉树A的子结构
原文地址:https://www.cnblogs.com/windmissing/p/2559894.html
最新文章
WAV音频文件获取时长工具类
struts2升级至2.3.32,一定要对项目clean,clean,clean!!!
一键安装JDK
solr6.6.2学习记录之三:从sqlserver数据库导入数据(全量导入)
solr6.6.2学习记录之二:core如何添加?
IIS应用程序池"启用32位"导致服务不可用的503错误
ServiceStack.RabbitMQ在站点中使用时导致静态页面无法正常解析
【转】转移Package Cache文件夹,转移Windows Installer文件夹
【转】TypeScript中文入门教程
VS2013相关资料
热门文章
【原】K3Cloud平台开发之Python插件
文本动画效果小结
mysql优化整理(索引)
微信开发小记
记npm包开发全过程
记一次pending请求问题查找过程
图片碎片效果
canvas生成遮罩图片
velocity序列动画
velocity自定义动画
Copyright © 2011-2022 走看看