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

14 ~ 21/12/2025 做题记录

14 ~ 21/12/2025 做题记录
📅 发布时间:2026/6/20 7:25:37

[CERC2014] The Imp

恶魔有 \(n\) 个物品,每个物品价值为 \(v_i\),购买需要 \(c_i\) 元。

恶魔至多可以使用 \(k\) 次魔法,你和恶魔轮流操作:

  • 你购买一个物品
  • 恶魔要么释放一次魔法销毁这个物品(继续游戏),要么让你拿走这个物品(然后强制结束游戏)

你和恶魔都会采用最优策略,恶魔的目标是最小化你的收益,求你的最大收益。

\(1 \le n,v_i,c_i \le 10^6\),\(0 \le k \le 9\)

Hard Ver. \(0 \le k \le n\)

先做简单版本的,考虑邻项交换,设我们策略里最后买的两个物品是 \(v_1,c_1\) 和 \(v_2,c_2\)
先 \(1\) 后 \(2\) 是 \(S + \min(v_1 - c_1, v_2-c_1-c_2)\)
先 \(2\) 后 \(1\) 是 \(S + \min(v_2 - c_2, v_1-c_1-c_2)\)

不失一般性地设 \(v_1 \le v_2\),那么有 \(v_1-c_1-c_2 \le v_2-c_1-c_2 \le v_2 - c_2\)。
同时还有 \(v_1-c_1-c_2 \le v_1 - c_1\),也就是说右下角那项总是最小的,选择先 \(1\) 后 \(2\) 总是不劣的。

这个时候就能直接 \(\text{dp}\) 了,但是正着比较难推,考虑我们的结构一定是在前缀选了若干被炸,然后最后拿走了一个,所以倒着来更新。\(f_{i,k}\) 表示在后 \(i\) 个物品里选了一些,被恶魔炸了 \(k\) 次:

  • \(f_{i,0} = \max(v_i - c_i, \ f_{i+1, 0})\)
  • \(f_{i,k} = \max(f_{i+1,k}, \ \min(f_{i+1,k-1}-c_i, \ v_i - c_i)\)

答案是 \(f_{1,k}\),这样是 \(O(nk)\) 的。
这个题我是 23 年做的,最近发现有人发明了 \(0 \le k \le n\) 的 hard ver,看一下怎么做。。。

我擦,做法是二分答案以后,正着反悔贪心(原来 dp 不容易正着做是因为这个 ???)。
就是说如果可以按顺序选出 \(k + 1\) 个物品,满足每个物品的 \(v_i - c_i - S \ge ans\) 那么这个二分的答案就合法,这里 \(S\) 是当前已选了的物品的 \(\sum c_i\)。
这个条件是充要的,即恶魔没有办法在任何时候提前结束,使得你的答案小于 \(ans\),非常牛的转化。

如果 \(v_i - c_i - S\) 合法那么就直接贪心拿进来,然后把 \(c_i\) 放到堆里等着反悔。
如果拿不进来,就去堆里找一个最小的 \(c' \lt c_i\) 替换前面选的决策,而因为 \(v_i \ge v'\) 所以这样替换一定是合法的。

这样就 \(O(n \log^2 n)\) 了,非常自然的做法,而且很符合直觉,非常牛。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可

本文作者为 Aurora5090.

相关新闻

  • 28、Ubuntu 网络配置全攻略
  • Spring AI聊天记忆:告别对话失忆的智能解决方案
  • 小白必看:3分钟学会安全关闭Windows Defender

最新新闻

  • Gemma-3-12B-IT WebUI安全加固:HTTPS、IP白名单与频率限制实战
  • 关于北大青鸟马甸华腾校区介绍及官方公告 - 北大青鸟总部
  • 告别白边:3个方法让照片拼接边缘完美融合 - 软件工具教程方法
  • 图片格式转换工具怎么选?看这6款小程序对比结果 - 软件工具教程方法
  • PaddleOCR完整指南:从图像到结构化数据的AI文档解析革命
  • 无保卡老旧腕表没人收?南京回收不设门槛,新旧都收 - 讯息早知道

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 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 号