链接:https://ac.nowcoder.com/acm/problem/15666
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

输入描述:

第一行是一个整数T(1 ≤ T ≤ 1000),表示样例的个数。
以后每个样例一行,是一个整数n(1 ≤ n ≤ 1018)。

输出描述:

每个样例输出一行,一个整数,表示F(n) mod 1000000007。

列出等式,

可以求出矩阵A为:
[
[1,1,1,1,1,1],
[1,0,0,0,0,0],
[0,0,1,3,3,1],
[0,0,0,1,2,1],
[0,0,0,0,1,1],
[0,0,0,0,0,1],
]

GLOBAL_MOD = 1000000007
T = int(input())
class Solution:def f(self, n: int) -> int:if n == 0 or n == 1:return nres = self.matrixpower(n-1)res = res[0][0]*1+res[0][1]*0+res[0][2]*8+res[0][3]*4+res[0][4]*2+res[0][5]res = res % GLOBAL_MODreturn resdef matrixpower(self, power):# res初始值为单位矩阵res = [[1, 0, 0, 0, 0, 0],[0, 1, 0, 0, 0, 0],[0, 0, 1, 0, 0, 0],[0, 0, 0, 1, 0, 0],[0, 0, 0, 0, 1, 0],[0, 0, 0, 0, 0, 1]] base = [[1, 1, 1, 1, 1, 1],[1, 0, 0, 0, 0, 0],[0, 0, 1, 3, 3, 1],[0, 0, 0, 1, 2, 1],[0, 0, 0, 0, 1, 1],[0, 0, 0, 0, 0, 1]] # 这个是我们根据斐波那契数列的特点构造的矩阵 while power !=0:if power&1 !=0:res = self.multimatrix(res, base)power = power>>1base = self.multimatrix(base, base)return resdef multimatrix(self, m1, m2):n = len(m1)res = [[0]*n for i in range(n)]for i in range(n):for j in range(n):for k in range(n):res[i][j] = (res[i][j]+m1[i][k] * m2[k][j])%GLOBAL_MODreturn resfor i in range(T):n = int(input())ans = Solution()print(ans.f(n))

牛客15666 又见斐波那契(矩阵快速幂)相关推荐

  1. 又见斐波那契~矩阵快速幂入门题

    链接:https://www.nowcoder.com/acm/contest/105/G 来源:牛客网 题目描述 这是一个加强版的斐波那契数列. 给定递推式 求F(n)的值,由于这个值可能太大,请对 ...

  2. 「GXOI / GZOI2019」逼死强迫症——斐波那契+矩阵快速幂

    题目 [题目描述] ITX351 要铺一条 $2 \times N$ 的路,为此他购买了 $N$ 块 $2 \times 1$ 的方砖.可是其中一块砖在运送的过程中从中间裂开了,变成了两块 $1 \t ...

  3. 牛客18987 粉嘤花之恋(矩阵快速幂、斐波那契数列)

    链接:https://ac.nowcoder.com/acm/problem/18987 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  4. 【每日一题】客似云来(斐波那契数列)

    [每日一题]客似云来(斐波那契数列) 文章目录 [每日一题]客似云来(斐波那契数列) 1.题目来源 2.题目描述 3.输入/出描述 4.解题思路 5.代码展示 1.题目来源   牛客网:客似云来 2. ...

  5. 2018年湘潭大学程序设计竞赛G又见斐波那契

    链接:https://www.nowcoder.com/acm/contest/105/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  6. 又见斐波那契数列(矩阵构造+矩阵快速幂)

    //补题~~~ 链接:https://ac.nowcoder.com/acm/problem/15666 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  7. 客似云来———斐波那契数列

    文章目录 1 题目 2 解析 3 参考代码 1 题目 客似云来 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 ...

  8. 2018年湘潭大学程序设计竞赛 G又见斐波那契

    题目描述 这是一个加强版的斐波那契数列. 给定递推式 求F(n)的值,由于这个值可能太大,请对109+7取模. 输入描述: 第一行是一个整数T(1 ≤ T ≤ 1000),表示样例的个数.以后每个样例 ...

  9. 斐波那契数列快速算法详解

最新文章

  1. Django3.0 +Python3 连接mysql遇到django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer
  2. iOS保存model数据(自定义Model 可以存放到本地)
  3. c++枚举类型(一)
  4. Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器
  5. Java 算法 摆动序列
  6. 【博客大赛】使用LM2677制作的3V至24V数控可调恒压源
  7. android背景色显示圆形,android – 如何使文本视图形状的圆形和基于条件设置不同的背景颜色...
  8. Windbg分析高内存占用问题
  9. MS SQL 日常维护管理常用脚本(二)
  10. 后台扫描与备份文件泄露(御剑+dirsearch使用)
  11. 程序员们平时常逛的论坛
  12. 第一台数控机床专用计算机采用什么元件,数控技术试题库(含答案)
  13. set global show_compatibility_56 = on;永久生效MySQL重启
  14. 十载寒冰,难凉热血——2020CSDN年度博客之星Top10心路历程
  15. 常见ERP软件简单介绍与个人评价
  16. esp32-Arduino开发学习
  17. 静态路由 华三静态路由
  18. Windows挂载Linux网络共享文件夹
  19. OpenHarmony分布式软总线与设备认证模块总结
  20. 电脑强制删除顽固文件

热门文章

  1. LeetCode 954. 二倍数对数组(map计数)
  2. LeetCode 599. 两个列表的最小索引总和(哈希map)
  3. java 不重启部署_一篇文章带你搞定SpringBoot不重启项目实现修改静态资源
  4. php 负载监控_php记录服务器负载、内存、cpu状态的代码
  5. java自动加空格吗_程序加上空格和不加空格运行结果不一样
  6. (二十五)【NIPS 2017】Prototypical Networks for Few-shot Learning
  7. 百度一口气亮出NLP十年积累:完整技术布局全面披露,面向业界砸下11项七夕大礼
  8. 论文学习12-Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data(CRF
  9. 基于改进SSD的车辆小目标检测方法
  10. 顺序表的插入删除查找遍历