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

P11960 [GESP202503 五级] 平均分配 贪心+模拟

P11960 [GESP202503 五级] 平均分配 贪心+模拟

P11960 [GESP202503 五级] 平均分配
这个题我的贪心策略就是先尽可能的拿大的。
拿完之后如果他们数目相等,那肯定就直接输出了。
如果数目不相等的话,那肯定是要把一个大的换成一个小的。
那么这时候怎么换才是更优的呢?从贪心的来看,肯定是从大的换小的,a和b的差值更小的更优,因为这样子可以减少的更少,所以在这里用小根堆维护。
这里的小根堆有两个参数,第1个是表示他们的差值,第2个如果为1的话表示a>b,为2的话表示b>a,在取出的时候需要看一下第2个的标识判断是不是我们需要的,在a数组里面取多了的时候就需要把a拿出来,此时op == 1。

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+100;
#define int long long
#define pii pair<int,int>
#define x first
#define y second
int n;
int b[N],a[N];
signed main()
{cin>>n;int sum1 = 0,sum2 = 0;int ans = 0;priority_queue<pii,vector<pii>,greater<pii> >q;for(int i = 1 ; i <= 2*n ; ++i)cin>>a[i];for(int i = 1 ; i <= 2*n ; ++i)cin>>b[i];for(int i = 1 ; i <= 2*n ; ++i){ans += max(a[i],b[i]);if(a[i] > b[i]){sum1++;q.push({a[i]-b[i],1});}else{sum2++;q.push({b[i]-a[i],2});}}if(sum1 == sum2){cout<<ans<<endl;}else{int op;op = (sum1 > sum2 ? 1 : 2);
//         cout<<op<<endl;while(q.size() && sum1 != sum2){int dis = q.top().x,now = q.top().y;
//             cout<<dis<<" "<<now<<endl;q.pop();if(now != op)continue;ans -= dis;if(op == 1)sum1--,sum2++;else sum1++,sum2--;}cout<<ans<<endl;}return 0;
}
http://www.jsqmd.com/news/375366/

相关文章:

  • CQ小六竞赛生寒假悠闲的一天~~
  • 【Docker基础篇】实用CLI命令指南:run/stop/exec/logs,日常开发高频使用不踩坑
  • AI原生应用领域持续学习:构建技术知识体系的秘诀
  • 2026年2月护资模拟考试app权威推荐,界面流畅刷题更稳定 - 品牌鉴赏师
  • 【Docker基础篇】从0到1写Dockerfile:FROM/COPY/CMD/ENTRYPOINT指令详解+Hello World实战
  • 大规模语言模型的反事实推理与情景模拟
  • 2026最新十大知名全屋定制板材品牌推荐榜!优质环保品质与高性价比源头厂家选择指南,环保耐用适配多场景 - 品牌推荐2026
  • Elasticsearch 与 Cassandra 集成:处理超大规模数据
  • 深入解析:深度学习任务分类与示例(一)
  • 代码复现:深度残差收缩网络的完整Python程序代码复现:深度残差收缩网络的完整Python程序
  • LaTeX常用符号使用随笔
  • 4K/60帧+电脑反控手机?实测这款“蓝莓投屏”:延迟低至30ms,把竞品按在地上摩擦
  • 仿微信聊天软件源码深度解析:从架构设计到多端数据互通实现思路
  • 两天停PanelAI开发,突发奇想用AI写了个免费开源网址导航主题+WordPress后台
  • 市面气柜存在诸多问题,万伯双膜储气柜如何解决?
  • 基于深度学习YOLOv12的脑肿瘤识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • JAVA工具版本差异带来的困挠
  • 基于深度学习YOLOv11的草莓成熟度识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 悲壮的先知——柏拉图说了些什么
  • day84(2.12)——leetcode面试经典150
  • 《人工智能的数学基础》第二章习题(群部分)【未完成】
  • Java中设计图像处理工具(一)
  • 基于深度学习YOLOv12的玉米幼苗杂草识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • Es/Kibana7.17.9中资料迁移到openSearch3.4.0【DockerDesktop模拟】
  • 基于深度学习YOLOv12的草莓成熟度检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 深入解析:如何在 Windows 11/10 电脑上永久删除文件
  • 基于深度学习YOLOv12的铁路轨道缺陷检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 基于深度学习YOLOv11的铁轨轨道缺陷检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 2026国自然申报倒计时:如何利用AI辅助工具高效完成申请书撰写
  • 普通Fetch和Fetch 流式的区别?