当前位置: 首页 > news >正文

1400*D. Candy Box (easy version)(贪心)

3
10
9

Example

input

3
8
1 4 8 4 5 6 3 8
16
2 1 3 3 4 3 4 4 1 3 2 2 2 4 1 1
9
2 2 4 4 4 7 7 7 7

output

 题意:

        n个糖果,分为多个种类,要求尽可能的多选,并且使得不同种类的数量不能相同。

解析:

        记录每种糖果的数量,然后排序,对于每种糖果尽可能的多拿,并且保证数量不同。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+5;
int q,n,a[N],t;
int main(){scanf("%d",&q);while(q--){scanf("%d",&n);map<int,int>mp; for(int i=0;i<n;i++){scanf("%d",&t);mp[t]++;}vector<int>a;for(auto it:mp){a.push_back(it.second);}sort(a.begin(),a.end());int res=0,f=2e5+1;for(int i=a.size()-1;i>=0;i--){if(a[i]==0||f<=0) break;if(a[i]>=f) res+=f,f-=1;else res+=a[i],f=a[i]-1;}	printf("%d\n",res);}return 0;
}

http://www.lryc.cn/news/102298.html

相关文章:

  • 设计模式-备忘录模式在Java中使用示例-象棋悔棋
  • 用合成数据训练托盘检测模型【机器学习】
  • 人性-基本归因错误
  • 游戏引擎:打造梦幻游戏世界的秘密武器
  • ClickHouse(六):Clickhouse数据类型-1
  • 【Linux】网络基础
  • 小程序-接口概率性接收不到参数
  • 合作客户销售数据可视化分析
  • git仓库迁移场景
  • 【RabbitMQ】之持久化机制
  • 【项目6 UI Demo】前端代码记录
  • 【计算机网络】应用层协议 -- HTTP协议
  • 了解Unity编辑器之组件篇Layout(八)
  • 如何使用Flask-Mail来发送电子邮件
  • 【笔记】Java并发编程
  • Hive内部表和外部表
  • 【面试题】与通义千问的芯片前端设计模拟面试归纳
  • 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。npm.ps1 cannot be loaded
  • Flowable-服务-Http任务
  • Hexo+GithubPages免费搭建个人博客网站
  • 应用无线鼠标中的2.4GHz无线收发芯片
  • Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前
  • 自动驾驶之轨迹规划8——Apollo参考线和轨迹
  • ES6 - promise.all和race方法的用法详解
  • CAD .NET 15.0 企业版 Crack
  • 苍穹外卖day07——缓存菜品套餐+购物车功能实现
  • 学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序
  • 建造者设计模式 + 高阶函数 => DSL
  • 重学C++系列之智能指针简单介绍
  • LabVIEW开发航天器动力学与控制仿真系统