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死锁
log4j杂记
Oracle9或11使用了Oracle10的驱动引起的时间丢失
程序员要重视过劳
oracle提供的有用函数(待续)
Mysql扩展之replication概述
@autowired与@qualifer的使用区别备忘
Oracle中的in参数的个数限制
java版正则式提取替换示例
原文地址:https://www.cnblogs.com/windmissing/p/2559894.html
最新文章
分布式文件系统FastDFS原理介绍 天高地厚
怎么查看用户的SQL执行历史 天高地厚
自旋锁 天高地厚
windows powershell
远程调用存储过程
SQLite3简介及在.Net程序中的使用
sql 根据字段查表名
动态TSQL语句常見問題與解決方案
获取数据库中的数据库有多少个
MSSQL日期推算本周一的日期和本周结束日期本月开始日期和本月结束日期
热门文章
(转)我心中的十大信息化软件开发技术
无法显示XML页名称以无效字符开头处理资源'http://xx'时出错的解决方法
Win7中IIS7安装配置
如何获得一个字符串中数字的长度
网页刷新方法集合
Jmeter分布式控制
Python编程从入门到实践 Eric Matthes 著 袁国忠 译 第二章 动手试一试
Python基础题 1
win7桌面IE图标恢复与取消
走出困境 日本电子企业的创新征程(1)(转载)
Copyright © 2011-2022 走看看