奇特的生物

题目描述 Description

科学家们最近发现了一种奇怪的生物,它们每天长大一岁,刚出生的宝宝为1岁,且它们的年龄没有上限。已知年龄为1岁,2岁,3岁,……,k岁的个体具有生育能力,当年龄为i的具有生育能力的个体将长大一岁时会生下ai个1岁的幼崽。假设第一天只有一个年龄为1的幼崽,现在科学家们想知道第x天年龄为y的个体有多少,但由于该物种增长速度太快,于是他们将这个任务交给了你。由于这个数可能很大,你需要对p取模。

输入描述 Input Description

输入数据第一行给定四个整数k,x,y,p。

第二行包括k个整数,第i个整数代表ai。

输出描述 Output Description

输出数据包含一行,表示第x天年龄为y的个体的数量对p取模后的结果。

样例输入 Sample Input

【样例输入 1】

3 3 1 1007

1 1 1

【样例输入 2】

3 6 2 1007

1 2 1

样例输出 Sample Output

【样例输出1】

2

【样例输出 2】

13

数据范围及提示 Data Size & Hint

题目来源

  CODEVS ROUND4 月赛

思路(官方解释)

  

题目要求我们求第x天年龄为y的个体数量,我们可以等价为求第x-y+1天1岁的个体数量。

暴力写法就是递推,我们从第一天开始算,一天一天往后推每个年龄的个体数量。

这里我们可以看到有一个不足之处,我们没有必要记录年龄大于k的个体数量,因为他们没有生育能力,不会影响后面,而且我们只要求x-y+1天的1岁的个体数量。

所以每一天我们都只要记录年龄为1到k的个体数量。

设F[i,j]为第i天年龄为j的个体数量,初始F[1,1]=1。

递推式为

F[i+1,1]=F[i,1]+F[i,2]+……+F[i,k]

F[i+1,j]=F[i,j-1](j>1)

对于这种递推方程式固定的递推,我们可以用矩阵快速幂来加速。

PS:如果不知道矩阵快速幂的话就看一看矩阵乘法怎么运算,然后利用矩阵乘法满足结合律,就可以用类似快速幂的方法来加速。

具体做法就是用一个1*k的矩阵乘以k*k的矩阵的x-y次方,最后得到一个1*k的矩阵,这个矩阵里面就是x-y+1天1到k岁的个体数量。

对于取模运算,因为我们操作的时候涉及到的运算只有加和乘,边做边取模就可以了。

时间复杂度O(k^3*log(x-y))

时间: 2024-12-17 08:24:02

奇特的生物的相关文章

codevs4247 奇特的生物

4247 奇特的生物 题目描述 Description 科学家们最近发现了一种奇怪的生物,它们每天长大一岁,刚出生的宝宝为1岁,且它们的年龄没有上限.已知年龄为1 岁,2岁,3岁,……,k岁的个体具有生育能力,当年龄为i的具有生育能力的个体将长大一岁时会生下ai个1岁的幼崽.假设第一天只有一个年龄为1的幼 崽,现在科学家们想知道第x天年龄为y的个体有多少,但由于该物种增长速度太快,于是他们将这个任务交给了你.由于这个数可能很大,你需要对p取模. 输入描述 Input Description 输入

codevs4247奇特的生物 解析报告

4247 奇特的生物 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 科学家们最近发现了一种奇怪的生物,它们每天长大一岁,刚出生的宝宝为1岁,且它们的年龄没有上限.已知年龄为1岁,2岁,3岁,……,k岁的个体具有生育能力,当年龄为i的具有生育能力的个体将长大一岁时会生下ai个1岁的幼崽.假设第一天只有一个年龄为1的幼崽,现在科学家们想知道第x天年龄为y的个体有多少,但由于该物种增长速度太快,于是他们将这个任务交给了你

CodeVS第四次月赛解题报告

1.   奶牛的身高 题目描述 Description 奶牛们在FJ的养育下茁壮成长.这天,FJ给了奶牛Bessie一个任务,去看看每个奶牛场中若干只奶牛的身高,由于Bessie是只奶牛,无法直接看出第i只奶牛的身高,而只能看出第i只奶牛与第j只奶牛的身高差,其中第i只奶牛与第j只奶牛的身高差为Ai(i<=n).当A大于0时表示这只奶牛比前一只奶牛高A cm,小于0时则是低.现在,FJ让Bessie总共去看了m次身高,当然也就传回给FJ m对奶牛的身高差,但是Bessie毕竟是奶牛,有时候眼睛可

XCOM2中敌对生物设计分析(Aliens篇)

Aliens Aliens作为游戏设定中入侵的外星人,有各式外貌及奇特的战斗方式,掌握一些高能科技或利用精神力量进行攻击 Sectoid 使用灵能战斗的外星人,并无高级版本,初级便会使用精神控制,生命值较少. 能力:精神控制 召唤僵尸 眩晕目标(闪光弹效果,移动力.命中率大幅降低,无法使用部分能力) 恐慌目标 AI行为模式及策略:防御型 1.选择离玩家单位一定距离的掩体躲避 2.优先使用灵能(召唤僵尸优先级最大) 3.极少使用主武器 设计分析: Aliens中最基础的,定位偏向于“杂兵”的单位,

专访Facebook HipHop作者/阿里研究员赵海平:生物与计算机交织的独特人生

3 月 26 日,杭州的天阴沉沉,这是一种山色空蒙雨亦奇的美丽,还是雾霭笼罩下的怪异,对于来访阿里巴巴西溪园区的人们来说,没人关心这些.人们行色匆匆,兴奋地往各自目的地奔赴而去.我也来不及细思这些,因为今天要和刚从 Facebook 来到阿里的赵海平聊天. 就语言之争,赵海平称,有人会去争论锤子和斧子哪更好使吗?它不是要根据你做的事来定吗? 赵海平是非常著名的软件工程师,曾在微软工作过.2007 年加入不到 50 位软件工程师的 Facebook(是第一位中国工程师),期间他创建了 HipHop

生物总结

生物 作为蒟蒻,我的生物遇到了很大的问题.因为新升入高中,并不适应高中的学习方法.我自己初中养成的习惯就不好,比较懒.平常不喜欢记笔记,也不喜欢总结,只是靠着自己的小聪明,还自己也个人洋洋得意.这几天发现高中学习并不是这样的,生物虽然是理科,但是非常需要归纳与总结.虽然生物课本只讲了两节课,但是知识内容并不少.今天写题的时候发现很多东西并不会了,原因就是对知识的掌握不够,对理论的理解并不透彻,对公式的运用并不熟练.那么,我该怎么做呢?仔细思考了下,我应该按照语文老师的建议,不论是哪科,至少一周一

读《奇特的一生》后的一些感悟

一年前写的,送给现在的自己. 三个月前一个很偶然的机会我发现了<奇特的一生>这本书,那会儿正是我毕业为止过的最艰难的一段日子,每天早出晚归,就像个机器一样工作,没有什么具体的思想,仅仅是为了谋生,向人吐露的一些想法都是抱怨. 第一次翻开这本书的时候也没抱什么希望,因为我不觉得一本书能彻底拯救一个人,其实到现在也没算拯救我,只是让人的心态发生了变化,读完了之后我当 天就模仿柳比歇夫给自己弄了个日记本,我尝试着用书中主人公的方式记录每天的生活,每个周六的晚上会给自己这周做个比较粗略的总结,同时定下

生物醫學大數據:現狀與展望

大數據 (big data) 是指由於容量太大和過於複雜,無法在一定時間內用常規軟體對其內容進行抓取.管理.存儲.檢索.共享.傳輸和分析的數據集. 大數據具有「4V」特徵:①數據容量 (Volume) 大,常常在 PB(1 PB=250 B)級以上:②數據種類 (Variety) 多,常常具有不同的數據類型(結構化.半結構化和非結構化)和數據來源:③產生和更新速度 (Velocity) 快(如實時數據流),時效性要求高:④科學價值 (Value) 大,儘管利用密度低,卻常常蘊藏著新知識或具有重要

生物医药企业

目录: (1)Pfizer辉瑞 (2)葛兰素史克(GSK) (3)novo nordisk诺和诺德 (4)Kaiser Permanente(5)genentech (6)memorial sloan kettering caner center (7)Harvard medical school哈佛医学院 (8)(Brigham and Women's Hospital,BWH)布莱根妇女医院 (9)Arrowhead Research Corporation (1)Pfizer辉瑞 美国,制