【NOIP2009普及组复赛】 题3:细胞分裂

信息学奥赛一本通 1947:【09NOIP普及组】细胞分裂 | 洛谷 P1069 [NOIP2009 普及组] 细胞分裂 Hanks 博士是 BT(Bio-Tech,生物技术)领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。Hanks 博士手里现在有 NN 种细胞,编号从 1 \sim N1∼N,一个第 ii 种细胞经过 11 秒钟可以分裂为 S_iSi​ 个同种细胞(S_iSi​ 为正整数)。现在他需要选取某种细胞的一个放进培养皿,让其自由分裂,进行培养。一段时间以后,再把培养皿中的所有细胞平均分入 MM 个试管,形成 MM 份样本,用于实验。... 阅读详情

题3:细胞分裂

(cell.pas/c/cpp)(cell.pas/c/cpp)(cell.pas/c/cpp)

【问题描述】

HanksHanksHanks 博士是BTBTBT (Bio−TechBio-TechBio−Tech,生物技术) 领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。

HanksHanksHanks 博士手里现在有NNN 种细胞,编号从1 N1~N1 N,一个第i 种细胞经过111 秒钟可以分裂为SiS_iSi​ 个同种细胞(SiS_iSi​ 为正整数)。现在他需要选取某种细胞的一个放进培养皿,让其自由分裂,进行培养。一段时间以后,再把培养皿中的所有细胞平均分入MMM 个试管,形成MMM 份样本,用于实验。HanksHanksHanks 博士的试管数MMM 很大,普通的计算机的基本数据类型无法存储这样大的MMM 值,但万幸的是,MMM 总可以表示为m1m_1m1​ 的m2m_2m2​ 次方,即M=m1m2M = m_1^{m_2}M=m1m2​​ ,其中m1,m2m_1,m_2m1​,m2​ 均为基本数据类型可以存储的正整数。

注意,整个实验过程中不允许分割单个细胞,比如某个时刻若培养皿中有444 个细胞,HanksHanksHanks 博士可以把它们分入222 个试管,每试管内222 个,然后开始实验。但如果培养皿中有555个细胞,博士就无法将它们均分入222 个试管。此时,博士就只能等待一段时间,让细胞们继续分裂,使得其个数可以均分,或是干脆改换另一种细胞培养。

为了能让实验尽早开始,HanksHanksHanks 博士在选定一种细胞开始培养后,总是在得到的细胞“刚好可以平均分入MMM 个试管”时停止细胞培养并开始实验。现在博士希望知道,选择哪种细胞培养,可以使得实验的开始时间最早。

【输入】

输入文件名为 cell.incell.incell.in,共有三行。

第一行有一个正整数 NNN,代表细胞种数。

第二行有两个正整数 m1,m2m1,m2m1,m2,以一个空格隔开, m1m2m_1^ {m_2}m1m2​​ 即表示试管的总数MMM。

第三行有 NNN 个正整数,第iii 个数SiS_iSi​ 表示第i 种细胞经过111 秒钟可以分裂成同种细胞的个数。

【输出】

输出文件 cell.outcell.outcell.out 共一行,为一个整数,表示从开始培养细胞到实验能够开始所经过的
最少时间(单位为秒)。

如果无论 HanksHanksHanks 博士选择哪种细胞都不能满足要求,则输出整数−1-1−1。

【输入样例 1】 cell.in

1
2 1
3

[输出样例1] cell.out

-1

【输入输出样例1 说明】

经过 111 秒钟,细胞分裂成333 个,经过222 秒钟,细胞分裂成999 个,……,可以看出无论怎么分
裂,细胞的个数都是奇数,因此永远不能分入222 个试管。

【输入样例 2】cell.in

2
24 1
30 12

[输出样例2] cell.out

2

【输入输出样例2 说明】

第 111 种细胞最早在333 秒后才能均分入242424 个试管,而第222 种最早在222 秒后就可以均分(每
试管144/(241)=6144/(241)=6144/(241)=6 个)。故实验最早可以在222 秒后开始。

【数据范围】

对于 50%50\%50%的数据,有m1m2≤30000m_1^ {m_2} ≤ 30000m1m2​​≤30000。

对于所有的数据,有1≤N≤10000,1≤m1≤30000,1≤m2≤10000,1≤Si≤2,000,000,0001 \le N \le 10000,1 \le m_1 \le 30000,1 \le m_2 \le 10000,1 \le S_i \le 2,000,000,0001≤N≤10000,1≤m1​≤30000,1≤m2​≤10000,1≤Si​≤2,000,000,000。

【代码如下】:

#include<bits/stdc++.h>
using namespace std;
const int maxn=30000+10;
int n,i,j,m1,m2,minn=2147483647;
int prime[maxn]={0};  //30000以内所有的质数
bool flag=false,here;  //flag为所有细胞,here为单个细胞的判断
int pipe_prime[maxn];  //试管的质因数分解
int cell_prime[maxn];  //细胞的质因数分解
int sum_prime=0,cell,now;  //30000以内质数总数记为sum_prime
bool pr(int k)  //判断是否为素数,不予以注释
{
    int m;
    for(m=2;m<=floor(sqrt(k));m++)
    if(k%m==0)return false;
    return true;
}
int main()  //主程序开始
{
    cin>>n; cin>>m1>>m2;
    for(i=2;i<=maxn;i++)  //把30000以内的质因数枚举出来
    if(pr(i))
    {
        sum_prime++;
        prime[sum_prime]=i;
    }
    i=1; while(m1!=1)  //为m1质因数分解
    {
        if(m1%prime[i]==0)
        while(m1%prime[i]==0)  //除到没有为止
        {pipe_prime[i]+=m2; m1/=prime[i]; }
        i++;
    }
    for(i=1;i<=n;i++)
    {
        cin>>cell; j=1; now=0; here=true;  //初始化
        memset(cell_prime,0,sizeof(cell_prime));  //初始化,加头文件cstring
        while(j<=sum_prime)  //大于30000的质因子忽略,即在30000内质因数分解
        {
            if(cell%prime[j]==0)
            while(cell%prime[j]==0)
            {cell_prime[j]++; cell/=prime[j]; }
            j++;
        }
        for(j=1;j<=sum_prime;j++)
        {
            if(pipe_prime[j]!=0&&cell_prime[j]==0)here=false;  //如果细胞没有试管所拥有的质因子,该细胞不可用
            if(pipe_prime[j]!=0&&cell_prime[j]!=0)  //如果试管没有该质因子,不用做
            {
                if(pipe_prime[j]%cell_prime[j]==0)
                now=max(now,pipe_prime[j]/cell_prime[j]);
                else now=max(now,pipe_prime[j]/cell_prime[j]+1);  //记得要+1,整除时不用加
            }
        }
        if(here){flag=true; if(now<minn)minn=now;}  //如果该细胞可行,做个标志,替换
    }
    if(flag)cout<<minn<<endl;  //如果可行
    else cout<<-1<<endl;
    return 0;
}
CSP-J (NOIP普及组) 历年复赛真题考察内容(2001~2022) T2 最大公约数和最小公倍数问题:枚举、gcd。T3 逻辑表达式:大模拟、表达式树、栈。T4 方格取数:动态规划、记忆化搜索。T4 上升点列:动态规划、LIS。T2 龙虎斗:枚举、预处理、模拟。T2 解密:数学、一元二次方程。T4 表达式的值:动态规划、栈。T4 小熊的果篮:模拟、队列。T2 直播获奖:桶排序、模拟。T4 跳房子:二分、动态规划。T2 扫雷游戏:字符串、模拟。T4 推销员:贪心、优先队列。T2 比例简化:枚举、gcd。T3 螺旋矩阵:模拟、找规律。T1 计数问题:字符串、模拟。 阅读详情

相关推荐

NOIP2009普及组复赛T3:细胞分裂

NOIP2009普及组复赛T3 - 细胞分裂,通过分解质因数,判断整除关系。

少儿编程乔老师 849

洛谷P1069 细胞分裂 NOIP 2009 普及组 第三题

洛谷绿题(点击跳转) NOIP普及组 第三题 题目描述 HanksHanks博士是BTBT(Bio-TechBio−Tech,生物技术) 领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。 HanksHanks博士手里现在有NN种细胞,编号从1-N1−N,一个第ii种细胞经过11秒钟可以分裂为S_iSi​个同种细胞(S_iSi​为正整数)。现在他需要选...

weixin_30609331的博客 445

CSP-J (NOIP普及组) 历年复赛真题及考察内容(1998~2021)

简单数学、枚举、进制转换。动态规划(高级)、栈。

星卯教育-信奥教练tony 4851

洛谷——P1069 [NOIP2009 普及组] 细胞分裂(分解质因数,唯一分解定理)

唯一分解定理是数论中一个非常重要且实用的定理,这个定理是注意描述的,任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1a1P2a2P3a3…此时,博士就只能等待一段时间,让细胞们继续分裂,使得其个数可以均分,或是干脆改换另一种细胞培养。为了能让实验尽早开始,Hanks 博士在选定一种细胞开始培养后,总是在得到的细胞“刚好可以平均分入。现在博士希望知道,选择哪种细胞培养,可以使得实验的开始时间最早。,可以看出无论怎么分裂,细胞的个数都是奇数,因此永远不能分入。

2301_77012063的博客 1572

Hand-Eye 标定误差分析:从理论到 C++ 实现

本文深入探讨了机器人手眼标定中的核心环节——误差分析。文章从AX=XB方程的理论残差出发,详细解析了旋转与平移误差的数学定义与物理意义,并提供了一个工业级的C++实现代码,用于计算重投影误差。通过误差分析,工程师可以量化标定精度,诊断问题根源,从而确保视觉引导机器人系统在实际应用中的可靠性与精确性。

c7d8e的博客 695

AI Agent ReAct架构设计模型剖析

ReAct通过"思考-行动-观察"循环运作:智能体先进行自然语言推理,再调用外部工具执行行动,观察结果后继续推理直至解决问题。这种架构提高了透明度和准确性,减少幻觉风险,使LLM能主动分解任务并利用外部数据源。实现关键在于精心设计的提示模板,引导LLM按结构化格式响应,而非依赖模型固有能力。

weixin_43939320的博客 1250

细胞分裂算法问题

题目 有一个细胞,它每秒分裂一次。每个新分裂的细胞从第四秒开始,每秒也会分裂一个细胞。请编程实现在第n秒的时候,共有多少细胞? 输入 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。 n=0表示输入数据的结束,不做处理。 输出 对于每个测试实例,输出在第n秒的时候细胞的数量。 每个输出占一行。 思路 第一天 一个 2 ----...

weixin_42408097的博客 2133

python-pptx库中文文档及使用样例

个人使用样例及部分翻译自官方文档,并详细介绍chart的使用

4万+

2009年NOIP普及组复赛真题解析

所需的机器人必须在机器人工厂用一些金币来购买,机器人一旦被购买,便会沿着环形马路按顺时针方向一直行走,在每个单位时间内行走一次,即从当前所在的机器人工厂到达相邻的下一个机器人工厂,并将经过的马路上的所有金币收集给小新,例如,小新在 i(1≤i≤n)号机器人工厂购买了一个机器人,这个机器人会从 i 号机器人工厂开始,顺时针在马路上行走,第一次行走会经过 i 号马路,到达 i+1 号机器人工厂(如果 i=n,机器人会到达第 1 个机器人工厂),并将 i 号马路上的所有金币收集给小新。

weixin_42358969的博客 1095

告别Overleaf!本地LaTeX环境配置:VSCode+TeXLive完全指南(Windows/Mac双平台)

本文详细介绍了如何在Windows和Mac平台上配置本地LaTeX环境,使用VSCode和TeXLive打造高效的专业写作工作流。从TeXLive安装到VSCode插件配置,再到高级技巧与性能优化,帮助用户摆脱Overleaf限制,实现更快速、更私密的学术写作体验。

3c4x5z6v7b的博客 952

【异常】OpenClaw 上下文溢出问题(100% context used 309.9k/200k`)排查与解决

摘要:OpenClaw 运行出现"100% context used 309.9k/200k"报错,表示上下文窗口超出200k Token限制。解决方法包括:1) 重启服务或新建会话清空缓存;2) 修改配置文件提升context_window值;3) 长期优化如限制历史对话轮数、分批处理长文本。该问题通常由输入过长或多轮对话累积导致,需控制单次输入量在阈值内。

奶爸的编程之路,也就一周冷个三天 3236

CSP-J (NOIP普及组) 历年复赛真题考察内容(1998~2021)

TZOJ题目分类 本博客原文地址:https://www.cnblogs.com/BobHuang/p/14522022.html 其中,1.较简单题25题左右;2.动态规划17题,其中9题较好做;3.模拟(阅读题目将问题抽象建模写出程序)为11题;4.搜索8题,大部分不会做的题目均可以用搜索获得步骤分;5.贪心8题,部分不好想;6.高精度5题。 1.CSP-J 2020 T1 优秀的拆分 位运算、进制转换 T2 直播获奖 桶排序 T3 表达式 栈、深搜 T4 方格取数 动态规划(高级) 2.CSP-J 2

BobHuang的博客 1万+

YOLOv8改进,YOLOv8添加可变性卷积DCNv2

DCNv2对原始的DCNv1进行了改进,可变形卷积网络的卓越性能源于其适应对象几何变化的能力。通过对其自适应行为的检查,虽然对其神经特征的空间支持比常规的ConvNets更接近于对象结构,但这种支持可能远远超出感兴趣区域,导致特征受到不相关图像内容的影响。为了解决这个问题,我们提出了一种可变形卷积网的重新表述,通过提高建模能力和更强的训练,提高了其专注于相关图像区域的能力。通过更全面地集成网络中的可变形卷积,并引入扩展变形建模范围的调制机制,增强了建模能力。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3606

NOIP 普及组 复赛 试题 目录 信奥 历年

姐妹篇详见https://blog.youkuaiyun.com/mrcrack/article/details/86620012 NOIP  普及组  复赛  试题  目录   信奥  历年 NOIP  2018 普及组  复赛  试题  目录 1.标题统计  title 2.龙虎斗  fight 3.摆渡车  bus 4.对称二叉树  tree NOIP  2017 普及组  复赛  试题 ...

mrcrack的博客 3312

31、工程中不确定性量化与优化的全面解析

本文全面解析了工程中不确定性量化与优化的关键方法。针对数据充足与不足两种情况,分别介绍了概率理论和非概率方法在不确定性建模中的应用;系统阐述了采样方法、FORM/SORM、泰勒级数近似等不确定性传播技术;深入比较了RBDO与RDO两种主流优化框架的原理、步骤及适用场景,并通过两杆桁架案例展示了具体实现过程。文章旨在为工程师提供一套完整的从不确定性分析到优化设计的方法论,提升工程系统的可靠性与稳健性。

php55的博客 121

黑猫带你学eMMC协议第4篇:eMMC概述

1 前言 声明: 本文依据eMMC JEDEC5.1协议及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 本文大约3000字,从emmc的内部结构框架、供电、总线、寄存器等各方面进行框架性的介绍,本章节内容不需要深入研究,读完本篇文章,只要能对emmc有个框架下的了解,就可以了。 2 内部结构框架 由图可以看出,emmc内部由两块组成:控制器 + 存储介质。emmc内部存储介质绝大部分为nand flash。 众所周知,我们需要存储数据到nand flash中,并

黑猫奥利奥的博客 3341

NOIP 2009 普及组 第三题 细胞分裂

题目描述 HanksHanks博士是BTBT(Bio-TechBio−Tech,生物技术) 领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。 HanksHanks博士手里现在有NN种细胞,编号从1-N1−N,一个第ii种细胞经过11秒钟可以分裂为S_iSi​个同种细胞(S_iSi​为正整数)。现在他需要选取某种细胞的一个放进培养皿,让其自由分...

aoyi3903的博客 459

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NOIP普及组第3题(1995-2018)

NOIP1995普及组第3题 A类B类https://blog.youkuaiyun.com/wdajsnhc/article/details/79365790 NOIP1996普及组第3题 字符串编辑http://www.tsinsen.com/A1102http://oj.jzxx.net/problem.php?id=1282https://blog.youkuaiyun.com/yuyanggo/article/...

weixin_34342207的博客 684

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

NOIP CSP-J CSP-S 数论 历年真题

1957:【12NOIP普及组】质因数分解http://ybt.ssoier.cn:8088/problem_show.php?pid=1957 2004:【20CSPJ普及组】优秀的拆分http://ybt.ssoier.cn:8088/problem_show.php?pid=2004 P7071 [CSP-J2020] 优秀的拆分https://www.luogu.com.cn/problem/P7071 2074:【21CSPJ普及组】分糖果(candy)http://ybt.ssoier.c

青少年趣味编程 2674

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

第1章快速幂 1875:【13NOIP提高组】转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章素数 第 3 章约数 第 4 章同余问题 第 5 章矩阵乘法 第 6 章组合数学 NOIP2009年提高组 第2题 P1072 Hankson的趣味题 (初等数论,质因数,组合数学) https://www.luogu.org/problemnew/show/P1072 NOIP2006提高组 第4题 P1066 2^k进制数(动态规划...

青少年趣味编程 780

2009NOIP普及组真题 3. 细胞分裂

a. 检查m1的每一个质因数是否都是 Si 的因数,如果有一个不是,则Si不可能被除尽。,即质因数2的幂次为3,质因数5的幂次为1)。如果此时 Si 的质因数中,2有2个,5有1个,则3个周期后才能整除。如果此时 Si 的质因数中,2有3个,5有1个,则2个周期后可整除。5、所有的 Si 都读完后,找出分裂周期最小的数值,就是本题的答案。(换句话说,m1 的质因数都是 Si 的因数。的质因数中,2有6个,5有2个,则 1 秒后到达。d. 找出 Si 的所有质因数中分裂周期最多的那个。

weixin_40252159的博客 639

洛谷 P1069 [NOIP2009 普及组] 细胞分裂【分解质因数+预处理优化】

首先肯定不能暴力,因为数据非常大,无法用常规整数类型存储,但是可以知道的是m1,m2都是可以用常规数据类型存储的,同时我们知道的是任意一个数都可以分解为若干质因子的乘积,所以我们可以对m1进行质因数分解,就可以得出m1拥有的各种质因子的个数,假设m1拥有质因子2的个数为3,由于这里是m1^m2,所以说总共有质因子2的个数为3*m2,对于每个分解出来的质因子个数都乘以m2,就可以得到m1^m2的各种质因子的个数。第一行,有一个正整数 N,代表细胞种数。NOIP 2009 普及组 第三题。

lianxuhanshu_的博客 1434

细胞分裂(NOIP2009普及组)

传送门 素数分解,简单数论 但是要细心 代码如下: #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;algorithm&gt; using namespace std; int n,m1,m2; int ans,t,num; int maxu; int prime[30001]; void div(){ memset(prim...

cggwz的信息飞船 1078

洛谷1069-细胞分裂-C++-(质因数分解)

AC代码 本质上是分解质因数和一层覆盖关系,调试了几个小时,问题出在数组越界,难受死我了,不过最后还是AC了。 #include<iostream> using namespace std; #define inf 0x3f3f3f3f const int N=10010; int n,m1,m2; int s[N]; //底数的质因数分解 int base[200][2],cnt; //培养皿的质因数分解 int tbase[100010][2],tcnt; void mysplit(int

DongLUOWAN的博客 920

【c++基础】求细胞数量

一矩形阵列由数字到组成,数字到代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。

star-dusts的博客 897
上一篇: 【NOIP2009普及组复赛】 题2:分数线划定
下一篇: 【NOIP2009普及组复赛】题4:道路游戏
lpstudio
博客等级 码龄16年 1266粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lpstudio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值