牛客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;前期治疗的每一个瞬间都是至关重要的。理想情况…

C#多线程与并行编程方面的电子书,中英文版本

给大家共享一些C#多线程与并行编程方面的电子书&#xff0c;中英文版本的。 链接: 百度网盘地址 提取码: y99a 转载于:https://www.cnblogs.com/rainbow70626/p/10698221.html

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

来源&#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转眼就从小学上了高中。在…

sqlsever 转mysql 出错 MySQL max_allowed_packet设置及问题

如果找不到max_allowed_packet 可以直接添加 max_allowed_packet 20M&#xff0c;然后在show VARIABLES like %max_allowed_packet%; 查看 mysql根据配置文件会限制server接受的数据包大小。 有时候大的插入和更新会受max_allowed_packet 参数限制&#xff0c;导致写入或者…

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

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气候变暖最新报告:不要眼见,要“远见”

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

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

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

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

题意&#xff1a; 64匹马8个跑道需要多少轮才能挑选出最快的四匹马&#xff1f; 解法&#xff1a; 1.分成八组&#xff0c;每组8匹马。 2.八组内部分别比赛&#xff0c;总共比八场&#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;算法效率的提升究竟有…