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

链接: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))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepMind的新强化学习系统是迈向通用AI的下一步吗?

来源:AI前线作者:Ben Dickson译者:马可薇策划 :凌敏本文是 TechTalks 在人工智能领域最新研究发现的论文评论系列。对于精通围棋、星际争霸 2 以及其他游戏的深度强化学习模型而言,关键的挑战之一是它们无法将其能力泛…

监控服务器配置(五)-----Redis_exporter安装配置

1.下载redis_exporter安装包(linux版)到 /opt/minitor/redis_exporter 。 下载地址:https://download.csdn.net/download/a15565772151/11111943 可以私聊我一下我发你资源 2.运行 tar -zxvf redis_exporter-v0.13.linux-amd64.tar.gz ,解压文…

二维前缀和详解

什么是二维前缀和 ? 比如我们有这样一个矩阵a,如下所示: 1 2 4 3 5 1 2 4 6 3 5 9我们定义一个矩阵sum,其中 那么这个矩阵就是这样的: 1 3 7 10 6 9 15 22 12 18 29 45建立在一维前缀和之上,我们要求一个矩阵…

工业环境中对机器学习的行业视角

来源:ScienceAI编辑:凯霞Google Applied Science 是 Google Research 的一个部门,将计算方法,尤其是机器学习,应用于广泛的科学问题。不久前帕特里克莱利(Patrick Riley)还是该部门软件工程师之…

牛客16429 组合数问题(二维前缀和、杨辉三角)

链接:https://ac.nowcoder.com/acm/problem/16429 来源:牛客网 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 组合数表示的是从 n 个物品中选出 …

IPCC气候变暖最新报告:不要眼见,要“远见”

來源:简书作者:简晶链接:https://www.jianshu.com/p/015a29055b4a2021年8月9日IPCC发布报告,地球气候正在极速广泛地加剧变化,至少在目前的时间范围内部分趋势已经不可挽回。人类导致的气候变化已经极度影响了全球所有…

自监督学习:人工智能中的暗物质,来自Facebook AI Yann LeCun

来源:AI公园作者:Yann LeCun,Ishan Misra编译:ronghuaiyang近年来,人工智能领域在开发能够从大量精心标记的数据中学习的人工智能系统方面取得了巨大进展。这种监督学习的模式在训练专家模型时有着良好的记录&#xff…

动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题

转: 动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题 2018年05月13日 00:40:32 codingCoge 阅读数:1211 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38409944/article/…

牛客16596 计算系数(排列组合)

链接:https://ac.nowcoder.com/acm/problem/16596 来源:牛客网 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 给定一个多项式(axby)k&#xff0…

MIT新研究:过去80年,算法效率提升到底有多快?

来源:MIT,新智元编辑:David【导读】随着摩尔定律走向终结,靠提升计算机硬件性能可能越发难以满足海量计算的需要,未来的解决之道在于提升算法的效率。MIT的这篇新论文总结了过去80年来,算法效率的提升究竟有…

AI 被当做炒作工具?

来源:AI科技大本营(ID:rgznai100)翻译:AI科技大本营编译:禾木木上班路上由于高峰期,眼看就要迟到了,这个时候会想“如果汽车能自动完成这种高度重复的动作,我就可以在路上参加我的会…

第五周助教心得体会

本周心得: 本周为我参加助教工作的第五周。本周同学们要搞定的内容: 作业链接 fork词频统计仓库,创建修改分支对代码进行效能分析,改进后提交将过程写入博客并发布(提交42人 未提交31人 作业平均成绩:6.7分&#xff0c…

牛客16732 序列(排列组合)

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 链接:https://ac.nowcoder.com/acm/problem/16732 来源:牛客网 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语…

什么是传感器融合?我们从“盲人摸象”讲起……

来源:传感器专家网今天,我们的生活高度依赖传感器。传感器作为人类“五感”的延伸,去感知这个世界,甚至可以观察到我们人体感知不到的细节,这种能力也是未来智能化社会所必须的。不过,单个传感器的性能再卓…

算法竞赛入门经典 例题6-2 铁轨(C、python)

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 问题描述: 某城市有一个火车站,铁轨铺设如图所示。有n节车厢从A方向驶入车站,按进站顺序编号为 1~n 。你的任务是判断是否能让它们按照某种特定的顺序进入 B 方…

redis集群的搭建详细教程

1 Redis-cluster架构图 redis-cluster投票:容错 (至少要三个才可以,才能超过半数) 架构细节: (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的节点检测失效时才生效…

王飞跃 | 面向未来的AI人才应该具备这3种思维

来源:湛庐阅读作者:王飞跃 苇草智酷学术委员、中科院自动化研究所复杂系统与智能科学重点实验室主任、中国科学院社会计算与平行系统研究中心主任当今最好的人工智能程序到底有多智能?它们是如何工作的?能做些什么?我…

Java安全API

java提供了完整的密码学API,我们可以结合密码学相关的概念来系统的学习这些API。 1.密码学简介(crypto) 密码学通俗来说就是研究如何对信息进行加密和破密,如果不是专门研究信息安全,通常我们只需学习和使用加密的方法,所以破密的相关知识我们…

算法竞赛入门经典 例题6-6 小球下落(python、C)

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 问题描述: 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为 1,2,3,… ,2D -…

NLPer,是时候重视因果推理了!这有一份杨笛一等撰写的综述

来源:机器之心编辑:张倩在这篇综述论文中,来自佐治亚理工学院的杨笛一等十几位研究者系统阐述了自然语言处理中的因果推理。科学研究的一个基本目标是了解因果关系。然而,尽管因果在生活和社会科学中扮演了重要角色,它…