题目链接:Thematic Contests

题意:给出n道有类型的题目,每天组织一场专题比赛,该天题目数量必须是前一天的2倍,第一天的题目数量可以任意选择,求能消耗的最多题目数量。

题解:先整理成不同类型的序列,接着把对应类型题目的数量扔进vector,排序。枚举第一天题目数量,vector从当前位置往下找符合的下一个位置,不断把题目数量翻两倍,过程中记录总题目数量,同时维护最多题目数量。

 1 #include <map>
 2 #include <vector>
 3 #include <cstdio>
 4 #include <iostream>
 5 #include <algorithm>
 6 using namespace std;
 7
 8 typedef long long ll;
 9 const int N=2e5+10;
10 map <int,int> m;
11 vector <int> v,b;
12 int vsize,bsize;
13
14 int cal(int x){
15     int sum=0;
16     int pos=0;
17     while(1){
18         pos=(lower_bound(b.begin()+pos,b.end(),x)-b.begin());
19         if(pos==bsize) break;
20         pos++;sum+=x;
21         x*=2;
22     }
23     return sum;
24 }
25
26 int main(){
27     int n,x,mx=0,ans=0;
28     scanf("%d",&n);
29     for(int i=1;i<=n;i++){
30         scanf("%d",&x);
31         if(!m[x]) v.push_back(x);
32         m[x]++;
33         mx=max(mx,m[x]);
34     }
35     bsize=vsize=v.size();
36     for(int i=0;i<vsize;i++) b.push_back(m[v[i]]);
37     sort(b.begin(),b.end());
38     for(int i=1;i<=mx;i++) ans=max(ans,cal(i));
39     printf("%d\n",ans);
40     return 0;
41 }

View Code

转载于:https://www.cnblogs.com/ehanla/p/9989410.html

Codeforces 1077E Thematic Contests(二分)相关推荐

  1. Codeforces 685C Optimal Point (二分、不同类型距离的相互转换)

    题目链接 https://codeforces.com/contest/685/problem/C 题解 我怎么又还差最后一步的时候放弃了然后往别的方向上想了一小时才发现这个思路能做-- 首先二分答案 ...

  2. CodeForces - 1538G Gift Set(二分)

    题目链接:点击查看 题目大意:给出 a,b,x,ya,b,x,ya,b,x,y,分别表示有 aaa 个蓝色糖果和 bbb 和红色糖果,现在有两种打包方式: xxx 个蓝色糖果和 yyy 个红色糖果 y ...

  3. Success Rate CodeForces - 807C (数学+二分)

    You are an experienced Codeforces user. Today you found out that during your activity on Codeforces ...

  4. Codeforces - 706B - Interesting drink - 二分 - 简单dp

    https://codeforces.com/problemset/problem/706/B 因为没有看见 $x_i$ 的上限是 $10^5$ ,就用了二分去做,实际上这道题因为可乐的价格上限是 $ ...

  5. codeforces数学1700[CodeForces 1336B[分类讨论+二分]CodeForces - 1301C[组合计数的减法原理]]

    CodeForces 1336B Xenia and Colorful Gems 题目大意:给你nrn_rnr​个xix_ixi​,ngn_gng​个yiy_iyi​,nbn_bnb​个ziz_izi ...

  6. 2018.12.08 codeforces 939E. Maximize!(二分答案)

    传送门 二分答案好题. 题意简述:要求支持动态在一个数列队尾加入一个新的数(保证数列单增),查询所有子数列的 最大值减平均值 的最大值. 然而网上一堆高人是用三分做的. 我们先考虑当前的答案有可能由什 ...

  7. CodeForces - 1486D Max Median(二分+最长连续子段和)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的数列,现在从长度至少为 kkk 的连续子段中,找到最大的中位数 题目分析:做过平均数的模型:POJ - 2018 Best Cow Fences ...

  8. CodeForces - 507E Breaking Good(二分+贪心)

    题目链接:点击查看 题目大意:给出 n 个竹子,初始时高度为 h[ i ],接下来每一天每个竹子都会长高 a[ i ] 个单位的高度,每一天可以砍 k 次竹子(可以是同一个),每次可以砍掉 p 个单位 ...

  9. CodeForces - 1373F Network Coverage(二分)

    题目链接:点击查看 题目大意:给出一个首尾相接的环,每个点的编号分别为 1 ~ n ,其中每个点的需求量记为 a[ i ] ,供应量记为 b[ i ] ,每个点可以用 b[ i ] 向 a[ i ] ...

  10. CodeForces - 1370D Odd-Even Subsequence(二分+思维)

    题目链接:点击查看 题目大意:给出一个数组 a ,现在要求选出一个长度恰好为 k 的子序列 s ,使得的值最小 题目分析:当知道了 k 的大小之后,就可以计算出子序列奇数位置和偶数位置各有多少个数了, ...

最新文章

  1. 扎克伯格“气哭”了:Meta搞元宇宙巨亏,股价暴跌市值蒸发2000多亿美元
  2. server2016安装mysql_windows server2016安装MySQL5.7.19解压缩版教程详解
  3. C#连接MySQL数据库 制作股票交易模拟程序
  4. flask框架数据库增删改查
  5. 如何添加地图控件到Windows Phone 8的页面中
  6. 【系统架构设计师】软考高级职称,一次通过,2017年下半年系统架构设计师考试论文真题(论软件架构风格)
  7. uml活动图 各个功能的操作流程和分支_做软件架构设计,你不得不知道这些图...
  8. 58岁退休女士,想出去旅游却很难约到合适的伴,怎么办?
  9. HEVC---xCompressCU()函数作用及位置
  10. 图片处理应用:固定容器缩略图实现
  11. Atititi atiitt eam pam资产管理 购物表去年.xlsx
  12. 周立功TinyM0开发板1114使用教程
  13. 【读取GPS星历文件】读取GPS的星历文件,并动态显示卫星移动效果
  14. Python编写微信打飞机小游戏(二)
  15. upc第十一场2020.11.30
  16. 冒险岛左右移动攻击,定时加血加蓝加BUFF JAVA实现
  17. 各社交网站页面分享代码链接
  18. c 获取本地计算机ip,C++获取本机IP地址
  19. 疫情地图 | EXCEL制作疫情风险地地图
  20. buu-[Zer0pts2020]easy strcmp

热门文章

  1. springboot-shiro-jwt-redis实现用户登录的认证与授权(前后端分离)需要有一定shiro、jwt、redis、springboot基础
  2. 装饰器模式Decorate
  3. 批量大气校正高分2号(GF2)卫星数据
  4. (ECCV 2022)E-NeRV: Expedite Neural Video Representation with Disentangled Spatial-Temporal Context
  5. Corrupted STDOUT by directly writing to native stream in forked JVM 1. See FAQ web page and the dump
  6. RuntimeError: Cannot re-initialize CUDA in forked subprocess解决方法之一
  7. uniapp——显示不了网络图片或者本地图片
  8. 基于51的LCD1602计算器
  9. 在绩效评估中使用 360 反馈
  10. android设计计算等级程序,Android自定义View仿QQ等级天数进度