题目:戳这里

题意:n个数代表n个problem,每个数的值代表这个问题的topic,让我们挑出一些problems,满足挑出problems的topic是首项为a1公比为2的等比数列(每种topic只能选一次。问最多能挑出多少个problems。

解题思路:可以看出这道题只和每个topic的数量有关,我们记录每个topic的数量并排序。n的范围是2e5,也就是最后选出来的topic最多21个。所以只需要枚举等比数列的a1,二分查找是否有满足条件的a1*2^x即可。注意每种topic只能选一次,所以每次找出一个topic,二分的范围就要缩小一下,具体看代码。

 1 #include <bits/stdc++.h>
 2 typedef long long ll;
 3 const int maxn = 1e6+10;
 4 const ll inf = 1e18;
 5 using namespace std;
 6 ll a[maxn];
 7 map<ll, int>mp;
 8 int cnt[maxn];
 9 int main(){
10     int n;
11     scanf("%d", &n);
12     for(int i = 1; i <= n; ++i) {
13         scanf("%lld", a+i);
14         ++mp[a[i]];
15     }
16     int newn = 0, maxx = 0;
17     for(auto i: mp) {
18         cnt[++newn] = i.second;
19         maxx = max(maxx, i.second);
20     }
21     sort(cnt + 1, cnt + 1 + newn);
22     int ans = 0;
23     for(int i = 1; i <= maxx; ++i) {//21
24         int pos = 1, mul = 1;
25         int sum = 0;
26         while(pos <= newn) {
27             pos = lower_bound(cnt + pos, cnt + 1 + newn,mul * i) - cnt;
28      //       printf("%d pos, %d mul %d sum\n", pos, mul,sum);
29             if(pos > newn) break;
30             else {
31                 sum += mul * i;
32                 ++pos;
33             }
34             mul *= 2;
35         }
36         ans = max(ans, sum);
37     }
38     printf("%d\n", ans);
39     return 0;
40 }

View Code

转载于:https://www.cnblogs.com/zmin/p/9977848.html

1077E Thematic Contests 【二分答案】相关推荐

  1. UVA1396 Most Distant Point from the Sea(AM - ICPC - Tokyo - 2007)(计算几何,半平面交 + 二分答案)

    整理的算法模板合集: ACM模板 题目传送门 见<训练指南>P279 很明显就是一个二分答案,它问的是最远的点,直接枚举因为这里都是double类型的数所以有无限个点,我们可以直接二分. ...

  2. UVA1146 / LA3211(ACM-ICPC 2004 Europe - Southwestern) Now or later(2-SAT问题 + 二分答案)

    题目要求为 最大化最小值,很明显就是二分答案. 题目中每个飞机 要么是一种状态(早),要么是另一种状态(晚),考虑 2-SAT. 我们二分答案,二分着陆时间间隔的最小值 x. 枚举每两个飞机 p , ...

  3. 解题报告:luoguP2868 Sightseeing Cows G(最优比率环,负环判定,二分答案)

    根据题意,我们要环上各点权值之和除以各边权值之和最大. 求最大答案,很明显可以使用二分答案.那么我们假设当前答案为 x,如果有更大的答案,那么方程就可以按下图转换: 也就是说如果有更大的答案,则有一个 ...

  4. P2759 奇怪的函数(二分答案,数学运算)

    P2759 奇怪的函数 范围2e92e92e9,直接枚举肯定超时,正着直接求答案求不出来,那么运用逆向思维,直接二分答案判断即可.这道题涉及简单的数学运算. 要xx>=nx^x>=nxx& ...

  5. P3743 kotori的设备(二分答案,思维,线性)难度⭐⭐⭐

    题目链接 题目背景 kotori 有 n 个可同时使用的设备. 题目描述 第 i 个设备每秒消耗ai个单位能量.能量的使用是连续的,也就是说能量不是某时刻突然消耗的,而是匀速消耗.也就是说,对于任意实 ...

  6. 【基础算法】二分法(二分答案,二分查找),三分法,Dinkelbach算法,算法详解+例题剖析

    目录 一 . 二分法 二分搜索得要求: 二分查找步骤: 二分答案: 玄学的二分(二分答案) 二 . 三分法 例题 三.01分数规划问题相关算法与题目讲解(二分法与Dinkelbach算法) 一 . 二 ...

  7. 洛谷P1182 数列分段Section II 二分答案

    洛谷P1182 数列分段Section II 二分答案 题意:将 n 个 数 分为 m段 求一种方案,使这m段中最大的和 最小 额..可能有点拗口,其实就是说每一种方案,都有对应的 每段和的最大值, ...

  8. 【枚举】【二分答案】【分块答案】【BFS】【最大流】【Dinic】bzoj1189 [HNOI2007]紧急疏散evacuate...

    [法一]枚举Time(0~N*M): S->'.'(1); 'D'->T(Time); '.'->'D'(dis(用BFS预处理,注意一旦到达'D',BFS就不能继续扩展了,注意di ...

  9. [Bzoj2282]消防(二分答案+树的直径)

    Description 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情,所以这个国家 ...

  10. hihoCoder 第136周 优化延迟(二分答案+手写堆)

    题目1 : 优化延迟 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho编写了一个处理数据包的程序.程序的输入是一个包含N个数据包的序列.每个数据包根据其重要程度不同 ...

最新文章

  1. 为什么要采购订单而不采购库存?
  2. Java多线程之线程池配置合理线程数
  3. python 遍历文件夹写入excel_python:创建文件夹:写入文本1:读取txt:读取Excel文件遍历文件夹:...
  4. jquery 过滤html代码,jquery – 如何使指令使用过滤的HTML属性?
  5. SpringBoot:使用JdbcTemplate
  6. iTOP-4418开发板支持动态调频,AXP228电源管理,预留锂电池接口,内置充放电电路及电量计...
  7. 十二、十三天总结笔记
  8. 明天发布的iPhone 11,只剩下价格是悬念了?
  9. Mac上Jupyter notebook代码补全
  10. pgpool-II 手册
  11. bootloader系列二——arm920t--bootloader架构设计
  12. 荣耀9igoogle模式_初学者:如何从iGoogle切换回纯Google主页
  13. 企业部署信息安全等级保护的重要性
  14. 【golang】aws s3 go sdk
  15. c语言8bit转10bit,10bit视频转码成8bit视频教程(非常简单)
  16. 修改北京定点医院amp;查询医保信息
  17. Android studio编程常用控件
  18. 电脑开机内存占用过高处理
  19. 题目---小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。
  20. github官网老是打不开

热门文章

  1. python3安装库报错ERROR: Exception: Traceback (most recent call last): File “A:\ProgramData\Anacon
  2. PAT甲级_1116(Come on)
  3. 销售型呼叫中心系统特点
  4. 关于locahost:8080一直在等待却不报错
  5. iMovie 6 IDVD : The Missing Manual
  6. php的表达爱意的一句代码,表达爱意的诗句(精选50句)
  7. 借助Net-Speeder对服务器进行优化
  8. 显示前半内容后半内容用省略号_省略号前后的标点用法
  9. golang php mysql性能_golang vs dlang vs nodejs vs php 性能对比较量
  10. 专家建议将“元宇宙”更名为“元网络”或“灵境网络” 回归本质 规范发展