当前位置: 首页 > 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.jsqmd.com/news/31741/

相关文章:

  • C# 状态机
  • PHP 现代特性速查 写出更简洁安全的代码(中篇)
  • 真 CSP 2025 游记
  • [引]Regenerate the SAS key used in HTTP trigger flows
  • AI元人文:大语言模型与价值权衡的共生之道
  • 11月4号
  • AVrecon僵尸网络感染超7万台Linux路由器,潜伏两年终被发现
  • AI元人文:化解算力质疑——降维重构价值计算
  • Gunicorn 基础使用
  • [UNIX] unix classic book
  • [UNIX]A Quarter Century of Unix by Peter H. Salus
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用极寒地区全热交换系统公司推荐!
  • 2025 年 11 月新风系统厂家权威推荐榜:电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院商用家用全热交换系统精选
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用极寒地区全热交换新风系统公司推荐
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆艾灸会所美容院商用家用全热交换极寒地区公司推荐
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用极寒地区全热交换系统公司精选
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞/网咖/酒店/棋牌室/KTV/洗浴/商场/办公室/别墅/学校/诊所/中医馆/会所/美容院/商用/家用/极寒地区/全热交换新风系统公司推荐
  • 2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用全热交换极寒地区适用
  • Glide将网络图片压缩成指定大小并保存到本地
  • 认知过程的现象学模型:回到“事情本身”的意识体验
  • AI元人文构想中的“内观照叙事模型”:从心灵哲学到价值计算的桥梁
  • C# DataGridView 大数据量性能优化 - 尼古拉
  • WPF的更新通知
  • [数据仓库] 腾讯数据仓库规范体系 [转]
  • 20251104 之所思 - 人生如梦
  • 怎么设计一个好的Selenium/Appium 自动化框架? 需要考虑哪些问题
  • AIChatManager 应用功能总结
  • [Doris] 度言软件:复杂查询响应速度提升10+倍,基于 Apache Doris 实时数仓建设实践 [转]
  • 第15天(中等题 滑动窗口)
  • Rust-闭包