尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

P4765 [CERC2014] The Imp 解题笔记

P4765 [CERC2014] The Imp 解题笔记
📅 发布时间:2026/6/19 10:27:05

原题链接

题面

商店里有 \(n\) 个魔术实体,每个实体都锁在一个特殊的魔术宝箱中。第 \(i\) 个宝箱(和其中的实体)的售价为 \(c_i\)个金币,而其中实体的价值相当于 \(v_i\) 个金币。

然而像你这样的凡人,只能安全地携带一件魔法实体。因此,你想要得到最宝贵的一个。

小恶魔可以将某一个魔术宝箱内的实体转化为毫无价值的灰尘。当然,他会在你购买一个魔术宝箱后立即对其使用该魔法,这样你就为这个宝箱付了钱而没能得到里面的实体。

小恶魔拥的魔力最多可以用来使用 \(k\) 次魔法。当然,他可以不用完这 \(k\) 次魔法,而你也可以随时空手走开(尽管这是一个奇耻大辱)。但是,如果你成功地买到了到一个实体(而没有被变成灰尘),则你必须保留该实体并离开商店。

你的目标是最大化你的收益(所购实体的价值减去支付的所有费用(包括购买当前实体和之前的灰尘)),而小恶魔则希望将其最小化。如果你和小恶魔都使用最佳策略,那么你的收益将会相当于多少金币?

solution

由于凡人一次只能带一个实体,所以凡人的策略其实是确定的,将数组 \(v_i\) 排序然后一个一个选择买还是不买。

我不会证明。

而小恶魔的策略有点难办,使用 dp 解决

将 \(v_i\) 从大到小排序,设 \(dp_{i, j}\) 为选择前 \(i\) 个,小恶魔用了 \(j\) 次魔法时的最大收益。

那么使用 \(0\) 次魔法时的状态转移方程为 \(dp_{i,j} = \max(dp_{i - 1, 0}, \min(v_i, c_i))\)

由此推出使用 \(j\) 次魔法时的状态转移方程为 \(dp_{i, j} = \max(dp_{i - 1, j}, \min(v_i - c_i, dp_{i - 1, j - 1} - c_i))\)

code

相关新闻

  • 2025年工业三维扫描仪品牌实力榜:启源视觉稳居行业第一
  • GCM(Galois/Counter Mode) 认证加密算法实现
  • yny计数题记录

最新新闻

  • 闲置黄金奢品变现怎么选?5家本地靠谱回收机构横向深度对比 - 奢品小当家
  • 从零到一:AttackLab缓冲区溢出攻击实战全解析
  • 从RoboCup到智能工厂:仙工SRC控制器的进化之路与生态构建
  • StarUML Java插件:3步实现UML与Java代码的双向同步
  • 深圳黄金回收实测指南,六大本地奢品门店走访测评 - 薛定谔的梨花猫
  • 2026 宁波闲置名包处置全测评:正规连锁门店横向对比,看懂皮具估价底层逻辑 - 奢侈品回收评测

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号