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

智商题

Luogu P13962 [ICPC 2023 Nanjing R] 电梯

https://www.luogu.com.cn/problem/P13962

思维难度很小,但是感觉代码很难写。

运送一堆物品,消耗的电能是这堆物品目标层数的最大值,可以认为只有目标层数最大值的物品才会消耗电能,其他的物品就是“免费”的。我们要让电能最小,就是让的省下的电能尽可能多。

那么可以先运送目标层数大的物品,接下来如果还有空间就继续按照目标层数从大到小塞进去。如果塞完之后发现还有 \(1\) 的空间(称之为“\(1\) 单位缝隙”),就找一个目标层数最大的 \(w=1\) 的物品塞进去。

一开始写的时候用优先队列搞了半天然后超时了,后面发现可以直接先按照目标高度排序,然后扫一遍,对于每一个 \(w=2\) 的物品产生的“\(1\) 单位缝隙”开一个变量 ones_gaps 记录,在 \(w=1\) 时看看能不能塞就可以了。因为是按照高度排序的,所以这个新加进去的 \(w=1\) 物品一定不会对塞进去的电梯电能的计算产生影响。以后做模拟时可以用到这种思想。

一开始的代码:https://www.luogu.com.cn/record/249879315

AC 代码:https://www.luogu.com.cn/record/249885494

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
constexpr int N=1e5+7;
struct Node
{ll c,w,to;// 按楼层从高到低排序bool operator<(const Node &B) const{return to>B.to;}
}a[N];
int n;
ll k,ans=0;
inline ll Alhaitham()
{ans=0;cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i].c>>a[i].w>>a[i].to;sort(a+1,a+n+1);ll remain=0;        //当前最近一次电梯趟次的剩余空间ll ones_gaps=0;     //无法被重量2利用的“1单位”缝隙数量for(int i=1;i<=n;i++){if(a[i].w==1){if(ones_gaps>0)   //有缝隙给你填充进去{ll amount=min(a[i].c,ones_gaps);a[i].c-=amount;ones_gaps-=amount;}if(a[i].c>0&&remain>0) //填补当前趟次的剩余空间{ll amount=min(a[i].c,remain);a[i].c-=amount;remain-=amount;}//如果还有剩余就新开一个电梯if(a[i].c>0){ans+=(a[i].c+k-1)/k*a[i].to;//这一趟产生的剩余空间if(a[i].c%k==0) remain=0;else remain=k-a[i].c%k;}}else  //处理w=2{//填补当前趟次的剩余空间if(remain>=2){ll amount=min(a[i].c,remain/2);a[i].c-=amount;remain-=2*amount;}//还有剩就新开一个电梯 if(a[i].c>0){//这1单位空间重量2无法利用if(remain==1){ones_gaps++;remain=0;}ans+=(a[i].c*2+k-1)/k*a[i].to;if(a[i].c*2%k==0) remain=0;else remain=k-a[i].c*2%k;}}}return ans;
}int main()
{
//	freopen("neuvillette.in","r",stdin);
//	freopen("neuvillette.out","w",stdout);cin.tie(0)->sync_with_stdio(0);int T;cin>>T;while(T--) cout<<Alhaitham()<<'\n';cout.flush();return 0;
}
http://www.gsyq.cn/news/81456.html

相关文章:

  • 2025年12月四川德阳结婚专用挂件、婚庆专用挂件、新婚挂饰、婚庆用品、婚礼摆件厂家深度调研 - 2025年11月品牌推荐榜
  • 国内小型低氘水设备优质本地供应商推荐!原水利用率高达80%以上,速求厂家联系方式及口碑推荐 - 品牌推荐大师
  • 详细介绍:知乎知学堂/AGI课堂AI大模型全栈工程师培养计划,【第二期】+【第四期】
  • 广州GEO优化服务商全景洞察:技术突围与精准选型指南 - 品牌评测官
  • AI招聘系统选择全指南,AI得贤招聘官核心功能与候选人体验感拉满 - 博客万
  • 2025年砂金机器品牌权威推荐榜单:采金设备/采金机械/采金机器源头厂家精选 - 品牌推荐官
  • KETTLE Excel 字段类型转换 - Robot
  • 成都GEO优化服务市场竞争力测评:核心服务商的技术壁垒与场景适配 - 品牌评测官
  • 国内小型低氘水设备哪个品牌好、实力强?三传一反这个优质供应商实力厂家口碑推荐 - 品牌推荐大师
  • 国产家用工业反渗透膜:哪家好?有哪些型号?求推荐及选型指南 - 品牌推荐大师
  • python描述符装饰器 property的联合套用
  • 2025年全自动钉箱机综合性能TOP10榜单,全自动钉箱机生产厂家排行榜单技术实力与市场典范解析 - 品牌推荐师
  • Scoket编程快速入门(全面干货) - 指南
  • 2025年国内口碑好的8款农业无人机电池产品排行榜 - 讯息观点
  • 2025年大型冻干机源头厂家推荐榜单:冷冻式干燥机‌/果蔬冻干机设备‌/5平方真空冻干机源头厂家精选 - 品牌推荐官
  • 一次小脾气的发泄_2025年12月10日午餐
  • GCDEX - GCD Extreme
  • 1-模型和算法
  • Nexpose 8.32.0 for Linux Windows - 漏洞扫描
  • 2025年无尘车间制造厂家哪家好?无锡新源环保稳居榜首! - 深度智识库
  • 2025年12月国内市面上私有化部署定制智能体市场评测深度分析 - 品牌推荐官优选
  • 海外云主机的带宽质量对网站访问速度有多大影响?
  • 重生之二分我再也不敢乱用 lower_bound 了 [USACO23OPEN] Milk Sum S
  • t-SNE高效使用指南与常见误区解析
  • 国内商标转让平台哪家好?2025年3大靠谱平台推荐清单amp;避坑攻略 - 资讯焦点
  • 2025-2026年北京十佳企业搬家公司推荐:选立刻搬家的6个硬核理由 - 资讯焦点
  • 2025年机场广告品牌口碑榜:十大优选品牌深度解析,电梯门贴广告/影院广告/电梯视频广告/社区门禁广告/社区道闸广告机场广告公司找哪家 - 品牌推荐师
  • 2026年北京继承纠纷律师推荐排名榜:胜诉率与专业解决方案深度解析 - 苏木2025
  • 广东合金五金厂家TOP5评测!广州琦彩五金领衔箱包五金配件品牌,一站式定制+技术赋能权威榜单发布,重构高端五金生态 - 全局中转站
  • 全国中医师承班哪家好?——来自江苏学员首推阿虎医考师承 - 资讯焦点