博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF 1047 C. Enlarge GCD
阅读量:5141 次
发布时间:2019-06-13

本文共 728 字,大约阅读时间需要 2 分钟。

传送门

[]

题意

给你n个数,移除最少的数字使剩下的数字GCD大于初始GCD

思路

需要一点暴力的技巧,先求出初始GCD为g,并统计每个数字的个数这是减少复杂度的关键,令ans=0,我们从i=g+1开始枚举GCD为i的个数,进行统计每次更新ans=min(ans,n-cnt)

需要注意的是某个数的因子依然是那个数倍数的因子,如2 4 8.这样可以避免重复统计。具体看代码

代码

#include
using namespace std;#define ll long longconst int maxn=1.5e7+5;int a[maxn],num[maxn];int main(){ int n,i,j,h; ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); //freopen("in.txt","r",stdin); cin>>n; int g,m=0,ans=n; // memset(a,0,sizeof(a)); for(i=1;i<=n;i++){ cin>>h; if(i==1) g=h; else g=__gcd(g,h); num[h]++; if(h>m) m=h; } //cout<
<

转载于:https://www.cnblogs.com/mch5201314/p/9699016.html

你可能感兴趣的文章
js编写时间选择框
查看>>
PHP压缩文件操作
查看>>
Java数据结构和算法(四)--链表
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
由级别和性格特征将程序员分类 ---看看你属于哪一种
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
PE知识复习之PE的导入表
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
洛谷 P3237 [HNOI2014]米特运输
查看>>
Attributes.Add用途与用法
查看>>
JavaScript面向对象初探——封装和继承
查看>>
L2-001 紧急救援 (dijkstra+dfs回溯路径)
查看>>
javascript 无限分类
查看>>
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>