NOIP 2009复赛试题——细胞分裂 解题分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【输出】 输出】
【数据范围】 数据范围】
对于所有的数据, 对于所有的数据,有1 ≤N≤ 10000,1 ≤m1 ≤ 30000,1 ≤m2 ≤ 10000, , , , 1 ≤ Si ≤ 2,000,000,000。 。
版权所有 东华初级中学
【输入输出样例 1】
cell.in 1 只有一种细胞 21 2个试管 1个细胞1秒钟可以分裂分裂成3个 3 cell.out -1 输入输出样例1 说明】 【输入输出样例 说明】 秒钟,细胞分裂成3 经过2 秒钟, 经过 1 秒钟,细胞分裂成 个,经过 秒钟,细胞分裂成 9 个,……,可以看出无论怎么分裂,细胞的个数都是 ,可以看出无论怎么分裂, 奇数,因此永远不能分入2 个试管。 奇数,因此永远不能分入 个试管。
版权所有 东华初级中学
M的素数分解过程
t1:array[1..30000] of longint; fillchar(t1,sizeof(t1),0); temp:=m1; for i:=2 to temp do begin while temp mod i=0 do begin inc(t1[i],m2); mm1:=temp; temp:=temp div i; end; if temp=1 then break; end;
版权所有 东华初级中学
细胞种类:2种 试管数M:24个=2*2*2*3=23*3 第1种细胞s1=30=2*3*5 第2种细胞s2=12=2*2*3=22*3 思考:如果s2=9,结果会怎Fra Baidu bibliotek?
输入样例分析
又如: 又如: 1 210 1 280
细胞种类:1种 试管数M:70个=2*3*5*7 第1种细胞s1=280=23*5*7
版权所有 东华初级中学
第2个疑问
对于每种细胞,如果它能够用来做实验( sik mod M =0 ),那么用它来做试验的最早开始时间t应如何计算?
设:M的算术分解式为:p1a1*p2a2*p3a3*…ptat ,p1,p2,p3,…,pt 为M
的互不相同的质因数;且p1,p2,p3,…,pt 在Si的算术分解 式为的指数为b1,b2,b3,…bt,则 T=max{tt, 1≦i≦t} 期中,若ai mod bi =0, 则令tt=ai div bi,否则令tt=ai div bi +1
细胞分裂
题目分析
版权所有 东华初级中学
一、读懂题意
对于任意一种细胞,期分裂的速度 是指数形式增长的,如:1,si, si2, si3, si4,…
Hanks 博士手里现在有 种细胞,编号从 博士手里现在有N 种细胞,编号从1~N,一个第 , i 种细胞经过 秒钟可以分裂为 个同种细胞(Si 为正 种细胞经过1 秒钟可以分裂为Si 个同种细胞( 整数)。 整数)。 现在他需要选取某种细胞的一个放进培养皿, 现在他需要选取某种细胞的一个放进培养皿,让其自 由分裂,进行培养。一段时间以后,再把培养皿中的 由分裂,进行培养。一段时间以后, 所有细胞平均分入M 个试管,形成M 份样本, 所有细胞平均分入 个试管,形成 份样本,用于实 验。 试管数M 很大, 试管数 很大,普通的计算机的基本数据类型无法存 储这样大的M 但万幸的是, 总可以表示为m1 储这样大的 值,但万幸的是,M 总可以表示为 次方, 其中m1, 的m2 次方,M = m1^m2 ,其中 ,m2 均为基本数 据类型可以存储的正整数。 据类型可以存储的正整数。
版权所有
枚举每一种细胞,计算其kmin的值, 东华初级中学 其中最小的就是题目所求。
输入输出
【输入】 输入】
输入文件名为 cell.in,共有三行。 ,共有三行。 第一行有一个正整数 N,代表细胞种数。 ,代表细胞种数。 第二行有两个正整数 m1,m2,以一个空格隔开,m1^m2即表示试 , ,以一个空格隔开, 即表示试 管的总数M。 管的总数 。 个正整数, 个数Si 表示第i 种细胞经过1 第三行有 N 个正整数,第i 个数 表示第 种细胞经过 秒钟可以分 裂成同种细胞的个数。 裂成同种细胞的个数。 共一行,为一个整数, 输出文件 cell.out 共一行,为一个整数,表示从开始培养细胞到实验 能够开始所经过的最少时间(单位为秒)。 )。如果无论 能够开始所经过的最少时间(单位为秒)。如果无论 Hanks 博士选 择哪种细胞都不能满足要求,则输出整数-1。 择哪种细胞都不能满足要求,则输出整数 。
版权所有 东华初级中学
【输入输出样例 2】
cell.in 2 24 1 30 12 cell.out 2 输入输出样例2 说明】 【输入输出样例 说明】 种细胞最早在3 秒后才能均分入24 个试管,而第2 第 1 种细胞最早在 秒后才能均分入 个试管,而第 种 最早在2 秒后就可以均分( 最早在 秒后就可以均分(每 试管144/(241)=6 个)。故实验最早可以在 秒后开始。 )。故实验最早可以在 秒后开始。 故实验最早可以在2 试管
版权所有 东华初级中学
版权所有 东华初级中学
第一个疑问
对于每种细胞,什么条件下才存在 使得s 对于每种细胞,什么条件下才存在k ,使得 ik mod M =0?
假设:M的算术分解式为p1a1*p2a2*p3a3*…ptat ,p1,p2,p3,…,pt 为M
的互不相同的质因数; 使得s 则使得 ik mod M=0成立的条件是: p1,p2,p3,…,pt 也是Si 使得 的质因数。
版权所有
由此可知,对于任意一种细胞 (si),要想能够用它来试验, 东华初级中学 必然存在k,使得sik mod M =0
一、读懂题意
由此可知,对于任意一种细胞(si), , 要想能够尽早用它来试验,计算出 使得sik mod M =0 的最小kmin值。
注意,整个实验过程中不允许分割单个细胞, 注意,整个实验过程中不允许分割单个细胞,比如某 个时刻若培养皿中有4 个细胞, 个时刻若培养皿中有 个细胞,Hanks 博士可以把它 们分入2 个试管,每试管内2 然后开始实验。 们分入 个试管,每试管内 个,然后开始实验。但如 果培养皿中有5个细胞 博士就无法将它们均分入2 个细胞, 果培养皿中有 个细胞,博士就无法将它们均分入 个 试管。此时,博士就只能等待一段时间, 试管。此时,博士就只能等待一段时间,让细胞们继 续分裂,使得其个数可以均分, 续分裂,使得其个数可以均分,或是干脆改换另一种 细胞培养。 细胞培养。 为了能让实验尽早开始, 为了能让实验尽早开始,Hanks 博士在选定一种细胞 开始培养后,总是在得到的细胞“ 开始培养后,总是在得到的细胞“刚好可以平均分入 M 个试管”时停止细胞培养并开始实验。 个试管”时停止细胞培养并开始实验。 现在博士希望知道,选择哪种细胞培养, 现在博士希望知道,选择哪种细胞培养,可以使得实 验的开始时间最早。 验的开始时间最早。