虽说是普及组最强的数论题,,但还是普及组、、、

搞了非常久。。。感觉似乎这就是极限了、、、

这题主要就是分解质因数、、  然后看包含所有容器质因数的最少分裂次数

如果对细胞分裂的质因数出现次数增长、容器的次方理解不到位的话是很容易晕的。。。

对于容器     12^2  =  2*2*2*2*3*3      12^3=2*2*2*2*2*2*3*3*3

可见  12^3=(2*2*3)^3=2^(2*3)*3^(1*3)    所以底数分解后直接乘指数即可知质因子出现次数

对于细胞       若分裂比为1:4   分裂一次:2^2     分裂二次: 2^2*4=2^4     分裂三次:2^4*4=2^6

可见分裂n次,就是1*n*该因子一次分裂的出现次数     和容器计算方式是一样的

所以直接指数相除就是单个因子的最少分裂次数    统计出最大值    再在所有种类细菌最大值中取个最小值即可

码:

#include<iostream>
#include<cstdio>
using namespace std;
#include<cstring>
#define inf 1e12+7
#define ll long long
ll su[30005],lie[30005],cun[30005],ans,lin,s[30005],n,m1,m2,i,j;
bool no;int main()
{scanf("%lld%lld%lld",&n,&m1,&m2);for(i=1;i<=n;i++)scanf("%lld",&s[i]);for(i=2;i<=m1;i++){if(!(m1%i))lie[++lie[0]]=i;while(!(m1%i))++su[i],m1/=i;}for(i=1;i<=lie[0];i++){su[lie[i]]*=m2;//  cout<<lie[i]<<" ";}ans=inf;for(j=1;j<=n;j++){   no=0;memset(cun,0,sizeof(cun));lin=0;for(i=1;i<=lie[0];i++){if(s[j]%lie[i]){no=1;break;}while(!(s[j]%lie[i]))s[j]/=lie[i],cun[lie[i]]++;if(su[lie[i]]%cun[lie[i]]==0)lin=max(lin,su[lie[i]]/cun[lie[i]]);else lin=max(lin,su[lie[i]]/cun[lie[i]]+1);}if(no)continue;ans=min(ans,lin);}if(ans==inf)printf("-1");else printf("%lld",ans);} 

2017.4.19 细胞分裂 思考记录相关推荐

  1. 2017.10.19 大陆争霸 思考记录

    一上来想到拓扑分层最短路,但需要多源最短路.. 这题考查的是对dij的理解 dij只能跑最短路每次都找极值点进行一次拓展,同时不能有负边权 所以一次需要确定  两个值都确定的一个点所以扩展的条件有两个 ...

  2. 2017.4.19 多项式输出 思考记录

    普及码农题.. 注意小心细节(一开始忘了 零次方  然后又忘了忘了一次方) 有很多地方可以压一下码量 码: #include<iostream> #include<cstdio> ...

  3. 2017.10.24 上升序列 思考记录

    终于有会做的题了... 一开始想用正常的lis ,然后从前往后扫, 由于最优查询区间在序列上是按顺序单调递增的,所以想记录每个点取哪个值跳到哪,这样是n*m logn的 然后发现既然是单调递增的那直接 ...

  4. 2017.10.7 括号序列 思考记录

    这个题看起来很简单,但细节比较麻烦.参考完别人的代码后才想出自己的解法的.. 一开始认为已匹配的括号是可以直接消的,所以就只维护了两个变量 但还有区间取反.. 由于和已配对的括号的顺序有关,所以不是很 ...

  5. 2017.9.28 约数研究 思考记录

    这个题一开始可能会想复杂, 然而它需要对答案的贡献进行归类 可以发现,一个约数对其倍数的数贡献是一样的,,所以可以考虑离散 所以直接对于每个数不好求,就可以考虑每个约数的贡献 而每个约数i就有n/i个 ...

  6. 2017.5.11 道路修建 思考记录

    这个线段树一眼秒了(主要是有前面的思考经验) 就是维护两个列对应线段上的形态.,比较好想的 但数据结构题有个特点--使你知道结构也不会做----会做也会很大概率爆零.... 所以数据结构题必须 小数据 ...

  7. 2017.5.9 积木大赛 思考记录

    为什么要把这个题放上来?因为这个题还是很有代表性的 首先必须要跳出模拟的思考: 可以忽视每一步具体的操作,直接看目标,这样就会总结出一些规律: 连续上升或连续下降的序列次数一定是最大值,因为每次都可以 ...

  8. 2017.4.25 解方程 思考记录

    这个题好乱啊..n*m就会炸,每个数还都可能是10^10000..这n*ai tm读进去都要10^6效率  . 一般这种似乎没有任何数论定理的东西范围还这么变态只能考虑随机化算法了.. 似乎可以用取模 ...

  9. 2017.3.29 报表统计 思考记录

    有生之年第一道浙江省选题(虽然历史久远并且很水) 记录每个位置数列的左端点和右端点 维护两颗splay   一颗维护全局最小差值,一颗维护相邻最小差值 对于全局splay:每次插入时记录路径取差值mi ...

最新文章

  1. 南京师范大学计算机技术调剂,南京师范大学2017年研究生调剂信息
  2. 教你从零开始使用wordpress做为后台生成小程序(小白版教程)
  3. 静观接入网易云信IM的秀品,如何在圣诞让她们疯狂剁手
  4. k8s 查看mysql 日志_k8s 使用 Init Container 确保依赖的服务已经启动
  5. duilib入门问题集
  6. Linux学习之第二课时--linux命令格式及命令概述
  7. [vue] SPA单页面的实现方式有哪些?
  8. char装cstring_VC中char*转换为CString
  9. Linux命令之crontab命令
  10. Of course, Huawei has brought more than just
  11. servlet,listener,filter,interceptor的关系
  12. Recommended Browsers for Oracle E-Business Suite 11i/R12
  13. CCF推荐国际刊物会议列表2015
  14. MLDN 五子棋。笔记
  15. win10哪个版本打游戏好?win10游戏性能分析
  16. 让Excel工作簿中宏自动运行的两种方法
  17. 空中飞猴 题解 暴力
  18. 用github写开源书籍
  19. 【免费内网穿透】Windows远程桌面连接树莓派
  20. 照片换背景色(Photoshop工具)

热门文章

  1. np.vstack与np.newaxis的含义
  2. fast rcnn 论文解读(附代码链接)
  3. Windows10配置Git远程连接到github(全网简单教程)
  4. 织梦网站服务器配置,织梦本地服务器配置
  5. dubbo分布式系统链路追踪_zipkin
  6. 可以自定义公式的计算器_Excel万能个税计算器,税率对比显示,自定义增税点自动计算结果...
  7. 数组的内存理解(图示)
  8. chrome ninja 文件_ninja和gn
  9. python 之禅_Python 之禅
  10. pytorch 学习率代码_DL知识拾贝(Pytorch)(五):如何调整学习率