牛客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 个物品中选出 …

MongoDB limit 选取 skip跳过 sort排序 方法

MongoDB limit 选取 skip跳过 sort排序 在mysql里有order by MongoDB用sort代替order by > db.user.find() { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 } { &…

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

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

IDEA打开父类的接口方法快捷键

有两个类,分别为A类是接口、B类为A的实现类。如果想在B类里的某个方法,打开A类可以鼠标右键点击这个方法名,按下键盘:CtrlU,就可以跳转到A类接口的该方法上面。转载于:https://www.cnblogs.com/gobyte/p/10714460.html…

智力题:64匹马8个跑道,至少需要多少轮才能挑选出最快的4匹马

题意: 64匹马8个跑道需要多少轮才能挑选出最快的四匹马? 解法: 1.分成八组,每组8匹马。 2.八组内部分别比赛,总共比八场,对每组的马排序。 每组的后四匹显然不是答案,直接淘汰。 现在只剩下…

自监督学习:人工智能中的暗物质,来自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年来,算法效率的提升究竟有…

2017沈阳站 Tree

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid6228 Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1693 Accepted Submission(s): 978 Problem DescriptionConsider a un-rooted tr…

快速幂模板(Python)

首先我们需要知道下面这个公式: (a^b) mod c((a mod c)^b) mod c 现在试着用最常规的方法计算 a^b 算法一: def spow(n, m):res 1for i in range (m):res * nreturn res print(spow(2, 100))显然这个算法的时间复杂度为 O(n),我们需要找到…

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 方…