Description


给定一个数字 A,这个 A 由 a1,a2,⋯,aN相乘得到。
给定一个数字 B,这个 B 由 b1,b2,⋯,bM相乘得到。

如果 A/B 是一个质数,请输出YES,否则输出NO。

Input


每个测试点包含多组数据,第一行读入一个整数 TTT 表示数据组数,对于每组数据:

第一行输入两个整数 N,M ,分别表示 A 由 N 个数字相乘得到, B 由 M 个数字相乘得到。

第二行输入 N 个整数,分别表示组成 A 的 N 个数字。

第三行输入 M 个整数,分别表示组成 B 的 M 个数字。

保证对于一个数字,其在 bi​ 中出现的次数不多于在 ai​ 中出现的次数。

Output


对于每组数据:

如果 A/B​ 是一个质数,请输出YES,否则输出NO。

在输出YES或NO后输出一个换行符。

Sample Input


2
3 2
5 7 7
5 7
4 2
5 7 7 7
5 7

Sample Output


YES
NO

Hint


1≤M≤N≤1000001

1≤ai,bi≤10121

1≤T≤10

∑N≤100000

题解


划重点:

保证对于一个数字,其在 bi​ 中出现的次数不多于在 ai​ 中出现的次数。

也就是说 在把相同的构成数约掉之后,分母会约到一

于是此题约掉相同因子后转化为

给 n - m 个正整数 ai ( 1 < = i < = n - m , 1 < = ai < = 1 e 12 ) 求这些数乘起来是否为质数

然后xjb乱搞不是随随便便!!!(完结撒花

设k=n-m,遍历a数组,如果一个数既满足是约剩下的,又值为1的话,k–(表示有用的数又少了一个!(撒花

最后如果k==1,表示恰好剩下了一个有用的数,那么判断这个有用的数是否为质数 是输出yes否输出no

否则 如果k==0 也就是说分子和分母一样 也就是说A/B==1 且1不是质数 所以输出no

而k>=2时,显然分子由k个非零且非一的数乘起来,那还质数个毛线啊质,输出no

/考场代码 思路不清晰 凑合看

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
#define R register
long long a[100007];
long long b[100007];
/*
inline long long read()
{
char ch=getchar();
long long x=0;bool s=1;
while(ch<'0'||ch>'9'){if(ch=='-')s=0;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return s?x:-x;
}
*/
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
for(R int i=1;i<=n;++i)
scanf("%lld",&a[i]);
sort(a+1,a+n+1);
for(R int i=1;i<=m;++i)
scanf("%lld",&b[i]);
sort(b+1,b+m+1);
if(n-m==0){cout<<"NO"<<endl;}
else
{
int i=1,j=1;
while(a[i]==1)++i;
while(b[j]==1)++j;
int k=n-m-i+j;
if(k!=1){cout<<"NO"<<endl;}
//else if(k==0){cout<<"YES"<<endl;}
else
{
while(a[i]==b[j])++i,++j;
long long x=a[i],flag=0;
//cout<<x<<endl;
for(long long i=2;i<=sqrt(x)&&!flag;++i)
if(x%i==0)flag++;
if(!flag)
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
}
}
return 0;
}

「LuoguP4752」牧 Divided Prime(判质数的更多相关文章

  1. Loj #3093. 「BJOI2019」光线

    Loj #3093. 「BJOI2019」光线 题目描述 当一束光打到一层玻璃上时,有一定比例的光会穿过这层玻璃,一定比例的光会被反射回去,剩下的光被玻璃吸收. 设对于任意 \(x\),有 \(x\t ...

  2. Loj #3059. 「HNOI2019」序列

    Loj #3059. 「HNOI2019」序列 给定一个长度为 \(n\) 的序列 \(A_1, \ldots , A_n\),以及 \(m\) 个操作,每个操作将一个 \(A_i\) 修改为 \(k ...

  3. Loj 3058. 「HNOI2019」白兔之舞

    Loj 3058. 「HNOI2019」白兔之舞 题目描述 有一张顶点数为 \((L+1)\times n\) 的有向图.这张图的每个顶点由一个二元组 \((u,v)\) 表示 \((0\le u\l ...

  4. 「APIO2017」商旅

    「APIO2017」商旅 题目描述 在广阔的澳大利亚内陆地区长途跋涉后,你孤身一人带着一个背包来到了科巴.你被这个城市发达而美丽的市场所深深吸引,决定定居于此,做一个商人.科巴有 \(N\) 个集市, ...

  5. 「NOI2015」寿司晚宴 解题报告

    「NOI2015」寿司晚宴 这个题思路其实挺自然的,但是我太傻了...最开始想着钦定一些,结果发现假了.. 首先一个比较套路的事情是状压前8个质数,后面的只会在一个数出现一次的再想办法就好. 然后发现 ...

  6. 「SCOI2014」方伯伯的 OJ 解题报告

    「SCOI2014」方伯伯的 OJ 和列队有点像,平衡树点分裂维护即可 但是需要额外用个set之类的对编号查找点的位置 插入完了后记得splay,删除时注意特判好多东西 Code: #include ...

  7. loj#2665. 「NOI2013」树的计数

    目录 题目链接 题解 代码 题目链接 loj#2665. 「NOI2013」树的计数 题解 求树高的期望 对bfs序分层 考虑同时符合dfs和bfs序的树满足什么条件 第一个点要强制分层 对于bfs序 ...

  8. 「JSOI2018」战争

    「JSOI2018」战争 解题思路 我们需要每次求给一个凸包加上一个向量后是否与另外一个凸包相交,也就是说是否存在 \[ b\in B,(b+w)\in A \] 这里 \(A, B\) 表示凸包内部 ...

  9. P4752 Divided Prime

    P4752 Divided Prime 题目描述 给定一个数字 AA ,这个 AA 由 a_1,a_2,\cdots,a_Na 1 ​ ,a 2 ​ ,⋯,a N ​ 相乘得到. 给定一个数字 BB ...

随机推荐

  1. android控件-images

    1.imageButton 图片按钮 <ImageButton android:id="@+id/imageButton" android:layout_width=&quo ...

  2. HDU 5676 ztr loves lucky numbers【DFS】

    题目链接; http://acm.hdu.edu.cn/showproblem.php?pid=5676 题意: 由4和7组成的且4和7出现次数相同的数称为幸运数字,给定n,求不大于n的最大幸运数字. ...

  3. CodeChef - LEMOVIE Little Elephant and Movies

    Read problems statements in Mandarin Chineseand Russian. Little Elephant from Zoo of Lviv likes to w ...

  4. java 基础 5 String StringBuffer StringBuilder

    String是不可变的,原因 1是可以缓存hash值,因为String的hash值经常被使用,例如String用作HashMap等.不可变特性  使得hash值不变,因此只需要进行一次计算: 2Str ...

  5. Mysql 性能优化20个原则(4)

    16. 垂直分割 “垂直分割”是一种把数据库中的表按列变成几张表的方法,这样可以降低表的复杂度和字段的数目,从而达到优化的目的.(以前,在银行做过项目,见过一张表有100多个字段,很恐怖) 示例一:在 ...

  6. Swift下调用Touch ID实现指纹识别

    iOS开发交流群:484884085 欢迎大家增加. 例如以下代码是实现调用5S以上设备指纹识别的代码,依照官网给出的代码,会出现识别成功后非常久才运行成功后调用的代码,逛了非常久的.才知道要将其放入 ...

  7. 用 centrifugo 搭建 消息推送服务器 docker + rancher 搭建

    关于消息推送服务器 目前有很多第三方的开放成熟的推送服务.鉴于项目需要 我们项目需要自己搭建 自己的推送服务. 我们的推送应用场景 聊天消息 项目内部消息提醒 移动设备接受消息 应用到的相关软件工具知 ...

  8. nginx 配置nginx.conf,负载均衡,逻辑分流

    nginx 最重要的配置文件nginx.conf: 一般的配置我不做解释,网上到处都是,主要对主要的几点进行注释(如下) worker_processes ; error_log /data/logs ...

  9. Java数据结构与算法之排序

    排序从大体上来讲,做了两件事情: 1.比較两个数据项: 2.交换两个数据项.或复制当中一项 一.冒泡排序 大O表示法:交换次数和比較次数都为O(N*N). 算法原理: 1.比較相邻的元素.假设第一个比 ...

  10. iOS Webview 与 app交互

    有时候我们在内嵌的webview中希望点击一个链接之后,触发iOS原生事件,而不是webview内页面跳转(因为webview的跳转很生硬,而ajax+js模拟则不如原生segue平滑). 有时候我们 ...