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

P7371 [COCI 2018/2019 #4] Kisik 题解

P7371 [COCI 2018/2019 #4] Kisik 题解

题目链接

我的博客

思路

首先需要明确的是这道题要求什么。

因此充气的范围也是一个矩形区域。

所以这道题要求的是 \(W \times H\) 的最小值。那么考虑贪心。

由题可得,\(W\) 是所有宽度的总和,\(H\) 是所有高度的最大值。所以我们的贪心思路是:在最大的楼房高度尽可能小的情况下,让每个楼房的宽度尽可能小。

于是我们想到了按照楼房高度排序,从小到大选择,这样可以保证最大高度最小。在此基础上,对于高度更高的楼房,我们每次取出最宽的一个楼房,换进去一个高度更大、但是宽度更小的楼房,更新答案,此过程可以用优先队列来维护。最终答案即为最小值。

时间的瓶颈在于优先队列的排序,因此时间复杂度 \(O(n \log n)\)

总结

  1. 按照高度从小到大排序。
  2. 遍历更高的楼房。每次取出之前最宽的一个楼房,换进去一个高度更大、但是宽度更小的楼房,更新答案。

代码

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
#define int long long 
#define ___ __int128
#define INF 0x3f3f3f3f3f3f3f3f 
inline int Read(){int x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=x*10+c-48;c=getchar();}return x*f;
}
inline void Write(int x){if(x<0) {putchar('-');x=-x;}if(x>9) Write(x/10);putchar(x%10+'0');
}
const int N=1e6+10;
int n,k,ans;
int w,h;
struct node{int w,h;//记录宽度、高度
}a[N];
bool cmp(node A,node B){return A.h<B.h;}//按照高度排序
priority_queue<int> q;//优先队列,默认大根堆
signed main(){n=Read();k=Read();for(int i=1;i<=n;i++){a[i].w=Read();a[i].h=Read();}sort(a+1,a+n+1,cmp);for(int i=1;i<=k;i++){//先把高度最小的 K 个选上w+=a[i].w;h=max(h,a[i].h); q.push(a[i].w); }ans=w*h;for(int i=k+1;i<=n;i++){w-=q.top();q.pop();//取出宽度最大的w+=a[i].w;q.push(a[i].w); //把当前宽度放进去h=max(h,a[i].h);//h=a[i].hans=min(ans,w*h);}printf("%lld\n",ans);return 0;
}
http://www.gsyq.cn/news/40331.html

相关文章:

  • C# 状态机
  • [引]Regenerate the SAS key used in HTTP trigger flows
  • 11月4号
  • [UNIX]A Quarter Century of Unix by Peter H. Salus
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用极寒地区全热交换新风系统公司推荐
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用极寒地区全热交换系统公司精选
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用全热交换极寒地区适用
  • WPF的更新通知
  • 【电子工程师の设备】用于拆焊PCB的热风枪的品牌
  • 怎么设计一个好的Selenium/Appium 自动化框架? 需要考虑哪些问题
  • AIChatManager 应用功能总结
  • 结构体对齐
  • [OLAP] 技术选型对比:Clickhouse vs Doris
  • 计算天数
  • React 中 useCallback 的基本使用和原理解析
  • SpringCloud和K8s实现的微服务各有什么优缺点
  • 2025.11.4总结
  • 2025 年 11 月 EVA 厂家推荐排行榜,eva塑料,eva板材,eva卷材,eva发泡材料,eva橡塑制品公司推荐
  • 20251104 正睿
  • swagger-typescript-api
  • 2025 年 11 月电线电缆厂家推荐排行榜,国标电线电缆,中缆电线电缆,工程电线电缆,环保电线电缆,家用电线电缆,工业电线电缆,光伏电线电缆,耐火电线电缆公司推荐
  • HAL库DMA框架
  • 2025 年 11 月电线电缆厂家推荐排行榜,电力电缆,控制电缆,通信电缆,阻燃电缆,高压电缆公司推荐
  • 2025 年 11 月回信器厂家推荐排行榜,隔爆回信器,阀门回信器,防爆回信器,限位开关回信器,气动阀回信器,气动回信器公司推荐
  • 数据分析流程
  • 2025 年 11 月锅炉厂家推荐排行榜,有机热载体锅炉,导热油锅炉,生物质锅炉,蒸汽锅炉,燃天然气锅炉,热水锅炉公司推荐
  • 9.22 未完成的情感投射
  • 2025 年 11 月电磁阀厂家推荐排行榜,高压电磁阀,防爆电磁阀,比例电磁阀,汽车电磁阀,ABS电磁阀,ESP电磁阀,车用ESC电磁阀公司推荐
  • 请求库的封装
  • 用户登录系统