题目:Weakened Common Divisor

题意:
比赛时我的思路是求出每一对ai和bi的lcm,计作ci,再求出gcd(ci),最后求出这个gcd的一个质因数即可。问题是质因数的分解问题,max{gcd}=1e18,如果要找到质因数最多要做1e9次运算。然后我就被hack掉了…
hack数据:

1
1000000007 1000000009

正确思路:将a1和b1分解质因数,对于每个质因数,判断是否能被每个数对整除。复杂度O(n n−−√ n \sqrt{n})。

代码:

#include<bits/stdc++.h>
using namespace std;#define maxn 200000
#define rep(i,x,y) for(int i=x;i<=y;i++)
#define rep2(i,x,y) for(int i=y;i>=x;i--)int n;
int a[maxn+5],b[maxn+5];void read(int& x) {scanf("%d",&x);
}void print(int x) {printf("%d",x);
}vector<int> vec;void slv(int x) {for(int i=2;i*i<=x;i++) {if(x%i==0) {vec.push_back(i);while(x%i==0) x/=i;}}if(x>1) vec.push_back(x);
}int main() {read(n);rep(i,1,n) {read(a[i]),read(b[i]);}slv(a[1]),slv(b[1]);rep(i,0,vec.size()-1) {int x=vec[i];rep(j,1,n) {if(a[j]%x&&b[j]%x) goto END;}print(x);return 0;END:;}print(-1);return 0;
}

Codeforces Round #505 B Weakened Common Divisor (cf 1025B)相关推荐

  1. Codeforces Round #505 B. Weakened Common Divisor(思维)

    题目链接:http://codeforces.com/contest/1025/problem/B        题意是给了n组数,从每组数里挑一个数出来,求他们的因子,如果没有因子(也就是因子为1) ...

  2. CF #505 B Weakened Common Divisor

    CF #505 B Weakened Common Divisor 题意:问是否存在一个数,每组数据中都有数据可以整除它,并且这个数要大于1,如果存在多组数据随便输出一个,如果不存在,则输出-1. 这 ...

  3. Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)

    A. Doggo Recoloring ps:注意 n == 1 B. Weakened Common Divisor 题解:WCD出现中的数必然是 < a, b >中某个数的公约数.而 ...

  4. 【CF1025B】 Weakened Common Divisor

    题目 题目描述 与 GCDGCD (最大公约数)类似,我们引进 WCDWCD (弱公约数)的概念, WCDWCD 的定义如下: 给出几对数 \left( a_1,b_1 \right) ,\left( ...

  5. cf----2019-10-03(Minimum Value Rectangle,Plasticine zebra,Weakened Common Divisor)

    城市黎明的灯火,总有光环在陨落,模仿者一个又一个,无人问津的角色,你选择去崇拜谁呢,怨恨谁呢? You have nn sticks of the given lengths. Your task i ...

  6. CF1025B Weakened Common Divisor

    题目描述: During the research on properties of the greatest common divisor (GCD) of a set of numbers, Il ...

  7. CodeForces - 1025B Weakened Common Divisor

    http://codeforces.com/problemset/problem/1025/B 大意:n对数对(ai,bi),求任意一个数满足是所有数对中至少一个数的因子(大于1) 分析: 首先求所有 ...

  8. Codeforces Round #505 D. Recovering BST(区间DP)

    首先膜一发网上的题解.大佬们tql. 给你n个单调递增的数字,问是否能够把这些数字重新构成一棵二叉搜索树(BST),且所有的父亲结点和叶子结点之间的gcd > 1? 这个题场上是想暴力试试的.结 ...

  9. CodeForces-1205B Weakened Common Divisor

    先找出最小的一对数字,把他们所有的因数找出来,保存在数组里 接下来过一遍数字对,每次都把能够整除至少一个数字的因数保留,最后剩余的都可以作为答案 如果因数特别多会超时,所以在开始时尽量对因数分解,分解 ...

最新文章

  1. leetcode-34-在排序数组中查找元素的第一个和最后一个位置
  2. 计算机视觉与深度学习 | Matlab实现单目视觉里程计基于SURF特征(代码类)
  3. python中输入的字怎么表示_简单讲解Python中的字符串与字符串的输入输出
  4. LiveVideoStackCon 2018社区编辑门票兑换启动
  5. [转] iphoneX、iphoneXS、iphoneXSMax、iphoneXR适配
  6. linux分辨率和用户有关吗,Linux系统在高分屏非正常分辨率显示
  7. 500 OOPS: vsftpd: both local and anonymous access disabled
  8. WKWebview的内存问题
  9. win7 计算机定时关机脚本,w7系统定时关机命令如何设置_w7电脑怎样设置定时关机...
  10. 在windows 2008下面使用dynamipsgui
  11. 2021年中国图书出版行业经营现状及重点企业对比分析:凤凰传媒优势明显[图]
  12. 2.8.1利用“直流扫描分析”测试基本共射放大电路电压传输特性
  13. 马士兵 oracle seton,马士兵Oracle 下
  14. 人工智能细分领域受关注|人工智能|领域|智能
  15. 如何区别标准POE交换机和非标POE交换机
  16. 二重积分的计算.02
  17. 【历史上的今天】3 月 24 日:苹果推出 Mac OS X;微软前任 CEO 出生;Spring 1.0 正式发布
  18. 为什么要构建知识体系?
  19. 蓝桥杯单片机CT107D_13_工厂灯光控制系统
  20. 机器学习入坑指南(五):逻辑回归

热门文章

  1. 蒙特卡洛模拟计算风险价值VAR之R语言实现
  2. 基于RFM模型的客户价值分析
  3. sql server linux性能,SQL Server On Linux(17)—— SQL Server On Linux性能(3)——内置特性(3)——I/O行为...
  4. 我眼中的博客MVB与投票 1
  5. oracle物料 批量导入,3.9批量导入一揽子采购协议
  6. 麒麟操作系统软件更新灾难连篇之一:中文输入法消失
  7. 如何加速打开Axure分享的链接
  8. 使用JavaPython爬取网页包括js文件,css文件和图片
  9. bzoj3252 攻略
  10. 2022年四川省工业设计中心认定奖补名单及申报奖补条件、程序及管理