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

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

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

题目描述

qn是个特别可爱的小哥哥,qy是个特别好的小姐姐,他们两个是一对好朋友 [ cp (划掉~)
又是一年嘤花烂漫时,小qn于是就邀请了qy去嘤花盛开的地方去玩。当qy和qn来到了田野里时,qy惊奇的发现,嘤花花瓣以肉眼可见的速度从树上长了出来。
仔细看看的话,花瓣实际上是以一定规律长出来的,而且,每次张成新的花瓣的时候,上一次的花瓣就会都落到地上,而且不会消失。
花瓣生长的规律是,当次数大于等于2时,第i次长出来的花瓣个数和上一次张出来的花瓣个数的差是斐波那契数列的第i-1项。初始的时候地上没有花瓣,树上的花瓣个数为1,第一次生长的花瓣个数为1。初始的那个花瓣就落到了地上
现在,小qn想知道,经过k次生长之后,树上和地上的总花瓣个数是多少?
ps:斐波那契数列:
f[1]=f[2]=1;f[i]=f[i-1]+f[i-2] (i>=2且i ∈ N+)

输入描述:

一行一个数k

输出描述:

一行一个数m,表示第k次生长过后,树上和地上的总花瓣数是多少。由于答案会很大,请你将答案mod 998244353后输出
在这里插入图片描述
题意不难理解,最终结果是要求斐波那契数列的前k+1项之和 , 又因为Sn = f(n+2) - 1, 所以最后就是求 f(n+3)-1

普通的斐波那契数列求解可以用递归(时间复杂度O(2^N)),但是这里的数据太大,会超时,
所以这里用矩阵快速幂(时间复杂度O(logN))来求解。

在这里插入图片描述
在这里插入图片描述
[F(n),F(n-1)] = [F(1), F(0)] * [[1 1] [1 0]]^(n-1)

F(n)的获取方法有两种

  • 第一种,是取矩阵运算结果的第一行第一列,
    由[F(n),F(n-1)] = [F(1), F(0)] * [[1 1] [1 0]]^(n-1)得,矩阵运算n-1次
  • 第二种,取矩阵运算结果第一行元素之和,
    由[F(n-1),F(n-2)] = [F(1), F(0)] * [[1 1] [1 0]]^(n-2), F(n) = F(n-1)+F(n-2),矩阵运算n-2次
GLOBAL_MOD = 998244353
k = int(input())"""
题意不难理解,最终结果是要求斐波那契数列的前k+1项之和  , 又因为Sn = f(n+2) - 1, 所以最后就是求 f(n+3)-1普通的斐波那契数列求解可以用递归(时间复杂度O(2^N)),但是这里的数据太大,会超时, 
所以这里用矩阵快速幂(时间复杂度O(logN))来求解。[F(n),F(n-1)] = [F(1), F(0)] * [[1 1] [1 0]]^(n-1)F(n)的获取方法有两种
第一种,是取矩阵运算结果的第一行第一列,
由[F(n),F(n-1)] = [F(1), F(0)] * [[1 1] [1 0]]^(n-1)得,矩阵运算n-1次
第二种,取矩阵运算结果第一行元素之和,
由[F(n-1),F(n-2)] = [F(1), F(0)] * [[1 1] [1 0]]^(n-2), F(n) = F(n-1)+F(n-2),矩阵运算n-2次
"""
class Solution:def fib(self, n: int) -> int:if n < 2:return nres = self.matrixpower(n-1)res = res[0][0]-1res = res % GLOBAL_MODreturn resdef matrixpower(self, power):# res初始值为单位矩阵res = [[1, 0],[0, 1]] base = [[1, 1],[1, 0]] # 这个是我们根据斐波那契数列的特点构造的矩阵 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 resans = Solution()
print((ans.fib(k+3)))

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

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

相关文章

新型智能头盔可快速评估患者中风的大小、位置和类型

来源&#xff1a;IEEE电气电子工程师 The proposed helmet uses electromagnetic waves to estimate the size and position of stroke inside a patients brain. FOS S.P.A./UNIVERSITY OF GENOA当有人中风了的时候&#xff0c;前期治疗的每一个瞬间都是至关重要的。理想情况…

美国空军把将人工智能纳入杀伤链列为最高优先事项之一

来源&#xff1a;航空简报 作者&#xff1a;张洋据airforcemag网站2021年9月21日刊文&#xff0c;2021年9月20日&#xff0c;美国空军部长弗兰克肯德尔&#xff08;Frank Kendall&#xff09;在空军协会于马里兰州国家港口举行的2021年空天网大会&#xff08;ASC21&#xf…

牛客14607 递推(矩阵快速幂构造)

链接&#xff1a;https://ac.nowcoder.com/acm/problem/14607 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 131072K&#xff0c;其他语言262144K 64bit IO Format: %lld 题目描述 JYM和XJ转眼就从小学上了高中。在…

2021年14项世界互联网领先科技成果发布

来源&#xff1a;桐乡发布9月26日下午&#xff0c;由国家互联网信息办公室、浙江省人民政府主办的2021年“世界互联网领先科技成果发布活动”在乌镇互联网国际会展中心乌镇厅举行。华为鸿蒙操作系统、北斗卫星导航系统等14项成果入选“世界互联网领先科技成果”&#xff0c;还有…

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

链接&#xff1a;https://ac.nowcoder.com/acm/problem/15666 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld 题目描述 输入描述: 第一行是一个整数T(1 ≤…

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

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

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

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

二维前缀和详解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AI 被当做炒作工具?

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

第五周助教心得体会

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

牛客16732 序列(排列组合)

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

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

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

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

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