给你一个n长度的数组,让你修改0到n次,问每次修改后能剩下不同个数的最小数是多少;

这里有了两种做法,一种是变成他们的lcm这样的话,修改后答案应该是减去改过的个数然后在加一

另一种就是数字修改成序列中的倍数,比如如果序列中有4和8,修改一次把4变成8,这样剩下的数字就只有一个;比较这两个做法,找出更小的就好了

做法就是,一种把原来次数从小到大排序,然后一个个变,另一种就是把能变成序列中其他数字的数的个数从小到大排,然后一次次跑就可以了

  1. #include<bits/stdc++.h>
  2. #define sf scanf
  3. #define pf printf
  4. #define si(a) a.size()
  5. #define vi vector<int>
  6. #define scf(x) scanf("%d",&x)
  7. #define scff(x,y) scanf("%d%d",&x,&y)
  8. #define rep(i,a,n) for (int i=a;i<n;i++)
  9. #define per(i,a,n) for (int i=a;i>=n;i--)
  10. #define mm(x,b) memset((x),(b),sizeof(x))
  11. #define IO(x) freopen("x.in","r",stdin);freopen("x.out","w",stdout);
  12. #define scfff(x,y,z) scanf("%d%d%d",&x,&y,&z)
  13. #define de(a) cout << #a << " = " << a << endl
  14. #define dd(a) cout << #a << " = " << a << " "
  15. typedef long long ll;
  16. using namespace std;
  17. const double eps=1e-8;
  18. const int N=3e5+2;
  19. map<int,int> mp;
  20. int a1[N],a2[N];
  21. int main()
  22. {
  23. IO(equal);
  24. int n;scf(n);
  25. int maxn=0;
  26. rep(i,0,n)
  27. {
  28. int x;scf(x);
  29. maxn=max(maxn,x);
  30. mp[x]++;
  31. }
  32. int tot1=0,tot2=0;
  33. rep(i,1,maxn+1)
  34. {
  35. if(mp[i])
  36. {
  37. a1[tot1++]=mp[i];
  38. for(int j=i+i;j<=maxn;j+=i)
  39. {
  40. if(mp[j])
  41. {
  42. a2[tot2++]=mp[i];
  43. break;
  44. }
  45. }
  46. }
  47. }
  48. sort(a1,a1+tot1);
  49. sort(a2,a2+tot2);
  50. cout<<tot1;
  51. int sum1=0,sum2=0;
  52. int pos1=0,pos2=0;
  53. rep(i,1,1+n)
  54. {
  55. while(pos1<tot1&&sum1+a1[pos1]<=i)
  56. sum1+=a1[pos1++];
  57. while(pos2<tot2&&sum2+a2[pos2]<=i)
  58. sum2+=a2[pos2++];
  59. int ans=min(tot1-pos1+1,tot1-pos2);
  60. if(ans==0) ans=1;
  61. cout<<" "<<ans;
  62. }
  63. return 0;
  64. }

equal numbers的更多相关文章

  1. Codeforces gym101612 E.Equal Numbers(贪心)

    传送:http://codeforces.com/gym/101612 题意:给出一个大小为n的序列a[i],每次选其中一个数乘以一个正整数,问进行k步操作后最少剩下多少种数字,输出0≤k≤n,所有的 ...

  2. Codeforces.GYM101612E.Equal Numbers(贪心)

    题目链接 \(Description\) 给定\(n\)个数,每次可以将任意一个数乘上任意一个正整数. 求\(k\)次操作后,数列中数的种类最少可以是多少.对每个\(0\leq k\leq n\)输出 ...

  3. Equal Numbers Gym - 101612E 思维

    题意: 给你n个数vi,你有k次操作.每一次操作你可以从n个数里面挑一个数,然后使得这个数乘于一个正整数.操作完之后,这n个数里面不同数的数量就是权值.你要使得这个值尽可能小. 题解: 如果a%b== ...

  4. CF 370B Berland Bingo

    题目链接: 传送门 Berland Bingo time limit per test:1 second     memory limit per test:256 megabytes Descrip ...

  5. [ACM_动态规划] ZOJ 1425 Crossed Matchings(交叉最大匹配 动态规划)

    Description There are two rows of positive integer numbers. We can draw one line segment between any ...

  6. [转载] Calculating Entropy

    From:  johndcook.com/blog For a set of positive probabilities pi summing to 1, their entropy is defi ...

  7. Poj 1029 分类: Translation Mode 2014-04-04 10:18 112人阅读 评论(0) 收藏

    False coin Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16418   Accepted: 4583 Descr ...

  8. USACO 2014 Open Silver Fairphoto

    这道题只是银牌组的第一题而我就写了 3K 的代码.唉. Description - 问题描述 FJ's N cows (2 <= N <= 100,000) are standing at ...

  9. UVA 1175 Ladies' Choice 稳定婚姻问题

    题目链接: 题目 Ladies' Choice Time Limit: 6000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu 问题 ...

随机推荐

  1. pygame安装遇到的坑

    坑一:python版本冲突,电脑同时安装多个版本的python,由于每个都是python.exe,cmd命令窗口输入的python不一定是你想要的版本,所以最好还是安装单个版本即可. 坑二:由于电脑安 ...

  2. SpringBoot properties和yml的区别

    一.先附一个yml文件的解析步骤 1.Maven依赖 <dependency> <groupId>org.yaml</groupId> <artifactId ...

  3. redis连接数高居不下,怎么破?。。。。这么破

    最近项目一直在使用redis,首次用redis,随便从网上找了例子就用了,一开始用的还挺正常,后来发现,当客户端访问量一上来,redis的连接数居高不下,一开始以为是客户端没有关闭,开始怀疑redis ...

  4. Java中的File操作总结

    1.创建文件 import java.io.File; import java.io.IOException; public class CreateFileExample { public stat ...

  5. CSS之特性相关

    一.css的继承性与层叠性 继承性: 面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法.那么我们现在主要研究css,css就是在设置属性的.不会牵扯到方法的层面. ...

  6. python算法与数据结构-常用查找算法一(37)

    一.什么是查找 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录). 查找表(Search Table):由同一类型的数据元素(或记录)构成的集合 ...

  7. EntityFramework 两个参数连续(中间有空格)问题

    昨天在项目中,用到 EntityFramework 通过SQL语句查询. 具体的SQL语句如下: SELECT t.* FROM ( SELECT c.id AS CommunityId, c.`na ...

  8. css、js文件后的后缀作用是什么?

    文章转自:https://blog.csdn.net/yelbosh/article/details/47303247 <link rel="stylesheet" type ...

  9. Visual Studio Code IDE开发插件配置

    [PHP通用集成环境] PHP Extension Pack #PHP拓展包,PHP开发最重要的拓展 PHP Intelephense #PHP自动补全工具 PHP IntelliSense #PHP ...

  10. 使用注解方式实现 AOP和IoC

    使用注解方式实现AOP和IoC IOC和DI的注解 IOC: @Component:实现Bean组件的定义 @Repository:用于标注DAO类,功能与@Component作用相当 @Servic ...