P1069 细胞分裂

我们求的就是(x^k)|(m1^m2) k的最小值;

先给m1分解质因数,再给每个细胞分解;

如果m1有的质因数,细胞没有就跳过;

否则就记录答案;

注意整数除法下取整的原则;

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=;
int n,m1,m2;
int pre_p[maxn],m_p[maxn],num,cell_p[maxn];;
bool vis[maxn]; void pre_pare()
{
for(int i=;i<=;i++)
{
if(!vis[i])
{
pre_p[++num]=i;
if(m1%i==)
{
while(m1%i==&&m1)
{
m_p[i]+=m2;
m1/=i;
}
}
}
for(int j=;j<=num;j++)
{
if(pre_p[j]*i>) break;
vis[pre_p[j]*i]=;
}
}
} void fuck_p(int x)
{
for(int j=;j<=num;j++)
{
while(x%pre_p[j]==&&x)
{
cell_p[pre_p[j]]++;
x/=pre_p[j];
}
}
} int flag;
int ans=,sum;
void check()
{
sum=;
for(int j=;j<=num;j++)
{
if(m_p[pre_p[j]]&&!cell_p[pre_p[j]]) {flag=;return ;}
if(m_p[pre_p[j]])
{
if(!(m_p[pre_p[j]]%cell_p[pre_p[j]])) sum=max(sum,m_p[pre_p[j]]/cell_p[pre_p[j]]);
else sum=max(sum,m_p[pre_p[j]]/cell_p[pre_p[j]]+);
}
}
}
int main()
{
scanf("%d%d%d",&n,&m1,&m2);
pre_pare();
for(int i=;i<=n;i++)
{
flag=;
memset(cell_p,,sizeof(cell_p));
int x;
scanf("%d",&x);
fuck_p(x);
check();
if(flag) continue;
ans=min(ans,sum);
}
printf("%d",ans==?-:ans);
return ;
}

P1069 细胞分裂——数学题,质因数分解的更多相关文章

  1. P1069 细胞分裂

    P1069 细胞分裂 考虑质因数分解 先将m1,质因数分解后再根据数学定理将所有质数的质数全乘m2 然后将输入的数据相同处理,再判断 顺便说一下判断规矩 1肯定不行 如果分解后有没有m1质因数分解中的 ...

  2. 洛谷 P1069 细胞分裂 解题报告

    P1069 细胞分裂 题目描述 \(Hanks\)博士是\(BT\) (\(Bio-Tech\),生物技术) 领域的知名专家.现在,他正在为一个细胞实验做准备工作:培养细胞样本. \(Hanks\) ...

  3. luogu P1069 细胞分裂

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...

  4. 洛谷—— P1069 细胞分裂

    https://www.luogu.org/problem/show?pid=1069#sub 题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细 ...

  5. 【洛谷P1069 细胞分裂】

    题目链接 首先,光看题就觉得它很扯淡(你哪里来这么多的钱来买试管) 根据某位已经ak过ioi的名为ych的神仙说(一看就是数学题,一看就需要因式分解,emm,我果然没有发现美的眼睛qwq) 那么我们就 ...

  6. Luogu P1069细胞分裂【分解质因数/数论】By cellur925

    题目传送门 发现这题真的坑超多啊...调了一晚上终于过了...我好菜啊qwq. 题意说的比较明白,让你求满足(si^k)%(m1^m2)==0的最小k值.然后看数据范围我们知道,我们肯定不能暴力的判断 ...

  7. 细胞分裂(洛谷 P1069)

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...

  8. NOIP2009普及组细胞分裂(数论)——yhx

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...

  9. cogs 466. [NOIP2009] 细胞分裂

    466. [NOIP2009] 细胞分裂 ★★   输入文件:cell.in   输出文件:cell.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]    Hanks ...

随机推荐

  1. DevExtreme学习笔记(一) DataGrid中js分析

    1.overviewjs采用 $(function() { $("#gridContainer").dxDataGrid({ dataSource: { store: { type ...

  2. Redis—.Net中的使用

    StackExchange.Redis使用以及封装 来源:http://www.cnblogs.com/qtqq/p/5951201.html,https://www.cnblogs.com/xsj1 ...

  3. Linux Wireless Supported Devices

    Linux Wireless Supported Devices https://ark.intel.com/content/www/us/en/ark/products/series/59484/i ...

  4. VSCode-设置webstorm的主题和快捷键

    前提:VScode很火啊,理由:轻量,免费,不用找各种破解qi.... 好吧那我也从webstorm转过来试试,但是webstorm已经用了4年多了,对于一个有洁癖的人,必须把VScode打扮的和we ...

  5. 关于Echarts柱状图点击事件的实现方法

    开发过程中,我们经常会碰到这样的需求:在柱状图上,点击某条柱形,调用相应的方法或跳转相应的界面 接下来就详细介绍如何实现柱状图的点击事件,其中maChart是绘图对象 一.简单的点击事件 myChar ...

  6. OpenWrt增加软件包

    变量名含义 SECTION //包的种类 CATEGORY //显示在menuconfig的哪个目录下 SUBMENU //menuconfig子目录 TITLE //简单的介绍 DESCRIPTIO ...

  7. Linux命令——finger

    简介 查询并显示系统用户的相关信息. 最小化安装Linux可能没有改名了,需要单独安装. RHEL/CentOS yum install finger* -y Ubuntu  apt-get inst ...

  8. 15 Windows编程——系统内置窗口子类型之button

    button子类型BS_3STATE.BS_AUTO3STATE.BS_AUTOCHECKBOX 源码 #include<Windows.h> #include<Windowsx.h ...

  9. python字典添加元素和删除元素

    1. 添加字典元素 方法一:直接添加,给定键值对 #pycharm aa = {'人才':60,'英语':'english','adress':'here'} print(aa) # {'人才': 6 ...

  10. 学习使用Django2 前台页面展示

    Django  2.1  python 3.7 创建一个虚拟环境 python  -m  venv  虚拟环境名称 进入虚拟环境 下载django pip install  django==2.1 创 ...