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; }
查看全文
相关阅读:
【体系结构】Oracle 11g体系结构总览
【RMAN】RMAN初探
【RAC】Oracle 11g 启动、停止实例和RAC数据库
【RAC】Oracle 11g RAC安装及配置(三)
【RAC】Oracle 11g RAC安装及配置(二)
【RAC】Oracle 11g RAC安装及配置(一)
【Linux】mount、umount命令
领域模型(DomainModel)与视图模型(ViewModel)
ASP.NET MVC与ASP.NET WebForm
Visual Studio 2017 插件扩展
原文地址:https://www.cnblogs.com/windmissing/p/2559894.html
最新文章
日常问题总结 二
日常问题总结 一
《Inside C#》笔记(十五) 非托管代码 上
《Inside C#》笔记(十四) 反射
《Inside C#》笔记(十三) 多线程 下
MVC与单元测试实践之健身网站(八)-统计分析
《Inside C#》笔记(十三) 多线程 上
那时候,恰同学少年的我们
深入理解阻塞队列
Redis客户端ServiceStack.Redis的简单使用
热门文章
面试心得随谈&线程并发的总结
asp.net 分布式探讨之Session共享问题
asp.net 调试与iis部署的问题
二叉树的建立以及遍历的多种实现(python版)
你不能错过.net 并发解决方案
asp.net session分布式共享解决方案
.net framework 4 线程安全概述
【数据库管理】Oracle 11g归档模式&非归档模式
【体系结构】Oracle 11g实例和数据库关闭过程详解
【体系结构】Oracle 11g实例和数据库启动过程详解
Copyright © 2011-2022 走看看