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

[NOIP 2018 普及组] 摆渡车 / [蓝桥杯青少年组国赛 2023] 月球疏散行动

[NOIP 2018 普及组] 摆渡车 / [蓝桥杯青少年组国赛 2023] 月球疏散行动

不难发现,这两题一模一样,数据范围,输入输出,代码可以直接复制提交
摆渡车知名一点,我就用他来讲了,思路都是一摸一样的

正文

提供一个好理解的O(n∗m)O(n * m)O(nm)的写法应该没算错,虽然快不了多少

说几个重点吧

1.如果你忘记排序…

2.O(Tm)O(Tm)O(Tm)的写法特别悬,O(n2m)O(n^2m)O(n2m)不缺我这份,但是还是简要讲一下:
· 要用桶的,大小要比T大一点,因为车子可能不是刚好接到最晚来的同学
·应为n十分小,完全可以压缩桶,就比如说 前面2t时刻空无一人直接把t[i]改成t[i - 1] + 2m就可以(因为最坏就是,i时刻车子走了,i + 1的同学要在i + m上车,如果隔得太久没有人,车子等哪里就可以,但是dp还要转移)
·前缀和优化的话推式子,对于我来说单独理解pre有点莫名其妙

总等待时间 = (i-t₁)+(i-t₂)+...+(i-t_k) = i+i+...+i(共k个)-(t₁+t₂+...+t_k) = i*k-(t₁+t₂+...+t_k)

pre1就是有多少学生(k就是这个区间里的学生数量)
pre2就是到达时间的总和
这样为什么要前缀和是不是超级明显?

O(nm)O(nm)O(nm)的写法,反而好理解,就是在压缩桶的时候记录偏移量而已,这样就不用for后面的一个一个减了

#include<bits/stdc++.h>usingnamespacestd;constexprintN=5e2+2;constexprintM=4e6+2;intt[N],cnt[M],pre1[M],pre2[M],dp[M];signedmain(){ios::sync_with_stdio(false);cin.tie(nullptr),cout.tie(nullptr);intn,m;cin>>n>>m;// if (m == 1) {// cout << 0;// return 0;// }for(inti=1;i<=n;i++){cin>>t[i];t[i]++;}sort(t+1,t+n+1);intdel=0;for(inti=1;i<=n;i++){if((t[i]-del)-t[i-1]>=2*m){intc=(t[i]-del)-t[i-1]-2*m;del+=c;}t[i]-=del;}intT=t[n]+m;for(inti=1;i<=n;i++){cnt[t[i]]++;}for(inti=1;i<=T;i++){pre1[i]=pre1[i-1]+cnt[i];pre2[i]=pre2[i-1]+cnt[i]*i;}intans=INT_MAX;for(inti=1;i<=T;i++){dp[i]=i*pre1[i]-pre2[i];for(intj=i-m;j>=max(0,i-2*m+1);j--){dp[i]=min(dp[i],(pre1[i]-pre1[j])*i-(pre2[i]-pre2[j])+dp[j]);}if(i>=t[n]){ans=min(ans,dp[i]);}}cout<<ans;return0;}

如果对你有帮助的话,点个赞吧!

http://www.jsqmd.com/news/483996/

相关文章:

  • 开关磁阻电机SRM12-8技术详解:额定功率达2200w,转速稳定达额定转速3450rpm
  • 字符串统计工具:字数统计、字符分析、词法分析、编码分析
  • 禅道下载安装教程
  • KMP模板——【# P3375 【模板】KMP】
  • 闭眼入!9个一键生成论文工具深度测评:全行业通用,开题报告+毕业论文+科研写作全搞定
  • 纯水设备哪家性价比高
  • IDA Pro 9.3 全功能绿色便携版(2026最新适配)|内置Python3.11.9+全量插件一键初始化
  • 风光储交直流微电网模型与孤岛Vf控制
  • 208分布式光伏配电网集群电压控制:探索新方法与实践
  • 数字化转型成熟度模型与评估:数字化转型成熟度等级(共五级)、数字化转型成熟度七大能力域、评估流程
  • MATLAB 中分数阶全变分泊松噪声下的反卷积探索
  • C语言初学者必备!从掌握知识到动手写计算器程序指南
  • 螺杆式空压机工频运行,变频机不能用使用西门子224xp 十昆仑通态触摸屏,程序有注释
  • 现在营销有哪些方法?内容营销、短视频直播等主流策略全解析-佛山鼎策创局破局增长咨询
  • Agent学习-ReAct框架
  • 微信小程序端基础面试题
  • 指针和地址—C语言(快速了解指针,由浅至深)
  • 在openSUSE-Leap-15.6-DVD-x86_64中使用gnome-builder-45.0的基本功能(三)空白Meson工程
  • 安装英文版Linux
  • CPC认证是什么?CPC认证是怎么收费的?
  • 三菱FX3U PLC 与昆仑通泰触摸屏控制松下伺服电机使用例程分享
  • 智阅—基于大模型API的文档智能总结系统
  • 拼多多2026届校招春招开始啦!
  • python微信小程序的学习资料分享系统
  • 满树的遍历--题解
  • 90天蜕变!我的大模型入门项目管理计划,保姆级教程免费送!一个普通人的90天学习路线图
  • 机器学习34:元学习(Meta Learning)
  • c++问题:free (): double free detected in tcache
  • 小程序毕业设计-基于微信小程序的在线学习在线课程系统的设计与实现
  • spring框架的主要几个依赖