博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【codevs1553】互斥的数
阅读量:5129 次
发布时间:2019-06-13

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

problem

solution

codes

/*贪心1.找出不互质的数的集合,就是把互斥的数删去.2.那么当有两个互斥的数时,如果删掉前面(小)的,这个数后面的与它互斥的数也会入选,所以删掉后面的更优。3.因为每个数都是不同的。*/#include
#include
#include
using namespace std;const int maxn = 1e5+10;int n, p, a[maxn], ans;map
ma;int main(){ cin>>n>>p; for(int i = 1; i <= n; i++)cin>>a[i]; sort(a+1,a+n+1); //枚举每个数,如果当前数没有被删,那么集合元素+1,然后把与他互斥的数删了。 for(int i = 1; i <= n; i++) if(!ma[a[i]]){ ma[a[i]*p]=1; ans++; } cout<
<<"\n"; return 0;}

转载于:https://www.cnblogs.com/gwj1314/p/9444702.html

你可能感兴趣的文章
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
下一代操作系统与软件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Python IO模型
查看>>
DataGridView的行的字体颜色变化
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Android-多线程AsyncTask
查看>>
LeetCode【709. 转换成小写字母】
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>