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

P10387 [蓝桥杯 2024 省 A] 训练士兵

P10387 [蓝桥杯 2024 省 A] 训练士兵

原题链接

题目范围

\(1 \leq n \leq 10^5\)\(1 \leq p_i, c_i \leq 10^6\)\(1 \leq S \leq 10^{10}\)

解题思路

在每一轮训练中,所有仍需训练的士兵都会参与。这一轮只有两种选择:

  1. 进行一次组团训练,花费为 \(S\)
  2. 所有参与的士兵各自单独训练一次,花费为当前这些士兵的 \(p_i\) 之和,记为 cur

因此每一轮的最优花费为 \(\min(S, \text{cur})\)

关键在于如何维护 cur。

当某个士兵需要训练 \(c_i\) 次时,他会参与前 \(c_i\) 轮训练,并在第 \(c_i\) 轮结束后完成训练,从下一轮开始不再参与。

因此可以预处理数组 loss,其中 loss[x] 表示所有满足 \(c_i = x\) 的士兵,其 \(p_i\) 之和。

初始时,cur 为所有士兵的 \(p_i\) 之和。每一轮结束后,将 cur 减去 loss[当前轮数],即可得到下一轮参与训练士兵的总费用。

复杂度分析

代码实现

void solve(){LL n,S;cin>>n>>S;vector<int>c(n);vector<int>p(n);int mx=0;LL  res=0,cur=0;rep(i,0,n){cin>>p[i]>>c[i];mx=max(mx,c[i]);cur+=p[i];}vector<LL>loss(mx+1,0);//  总练习次数相同的士兵各单练一次的花费rep(i,0,n){loss[c[i]]+=p[i];}rep(i,1,mx+1){res+=min(S,cur);cur-=loss[i];}cout<<res<<'\n';
}
http://www.jsqmd.com/news/562634/

相关文章:

  • 树莓派开机自启Python脚本:从rc.local到systemd的进阶实践
  • 重构设计流程:Grida如何提升团队300%协作效率
  • 嵌入式开发中的版本管理与编译时间戳实践
  • 数字IC后端设计入门:手把手教你用ICC完成一个RISC-V芯片的物理实现
  • 3步解放双手:崩坏星穹铁道自动化工具让资源收集效率提升200%
  • 从郭天祥老师的课到我的项目:两种裸机调度方案的实战踩坑与选型指南
  • 嵌入式系统模块通信方式:全局变量、回调函数与异步通信
  • Blender3mfFormat插件:3MF文件处理全攻略
  • Qwen3.5-27B开源模型价值:支持私有化训练微调的完整权重与LoRA接口
  • kin-openapi未来展望:OpenAPI 3.1支持与社区发展路线图
  • 第7讲 电路等效原理实战:替代、戴维南与诺顿定理解析
  • 嵌入式产品开发全流程实战指南
  • linux-系统函数
  • 当BFD不可用时:用华为NQA+静态路由实现低成本链路监测(含ICMP测试例详解)
  • CRC-16校验原理与Modbus应用实践
  • 2026离心式固液分离靠谱厂家推荐:餐厨垃圾固液分离/餐厨垃圾离心机/高速卧螺离心机/三相分离离心机/选择指南 - 优质品牌商家
  • 深信服SIP-1000 Y2100升级3.0.3Y全流程避坑指南(附前置补丁包下载)
  • Qt5使用QNetworkAccessManager实现FTP文件传输
  • vislib_vex5:面向VEX V5的嵌入式视觉处理库
  • 计算机毕业设计springboot智能汽车租赁系统 基于SpringBoot的智慧出行车辆共享服务平台设计与实现 SpringBoot框架下城市智能租车与车辆调度管理系统开发
  • YOLOv5从安装到实战:手把手教你用COCO预训练模型检测日常物品
  • 2026年贵阳装修指南:五家实力派本地公司深度解析与联系之道 - 2026年企业推荐榜
  • 解锁3D打印新境界:Blender 3MF插件全面指南 [特殊字符]
  • 浙江酱香白酒选购全攻略:2026年3月信誉厂家深度解析与推荐 - 2026年企业推荐榜
  • 避坑!uniapp的midButton在微信小程序不生效?这里有解决方案
  • 单片机电源电路设计:从3.3V到5V系统详解
  • Sentinel-1 SAR数据预处理后,如何在QGIS里做地表变化监测?一个完整案例
  • 2026医用中心供氧系统优质厂家推荐:弥散供氧系统/手术室净化工程施工/手术室净化系统/手术室净化装修工程厂家/选择指南 - 优质品牌商家
  • xshell连接VMware虚拟机
  • 5大场景解锁:用ImageGlass重构你的图像浏览体验