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

P10627 中暑

P10627 中暑
📅 发布时间:2026/6/19 13:32:12

题目大意:

有 \(n\) 个盒子,每个盒子有个容量 \(a_{i}\),接下来有 \(m\) 次投球操作。
每次给定一个 \(x\),表示你可以将当前这个球放到第 \(x\) 或者第 \(x + 1\) 个盒子里(前提是他没满),如果两个盒子都满了,就将球放到另外一个无穷大的容器中。
求那个无穷大的容器最多能盛多少球。
\(n,m \le 8000\)。

解题思路:

没有什么好的贪心策略,考虑 \(dp\)。
看着像二分图匹配问题,但直接做不能知道什么时候两侧的盒子全满了。

考虑放在相邻的两个之间的球,能贡献答案的一定是一个时间的后缀。
由于我们不能记录每个时刻的盒子的状态,考虑钦定每个盒子结束的时间 \(t_{i}\),特殊的,如果 \(t_{i} = inf\),表示这个盒子没满。
那么我们对于一个 \(i\) 时刻放在 \(x\) 和 \(x + 1\) 之间的球,如果 \(i > \max(t_{x}, t_{x + 1})\),那么他就能贡献答案。

至于一组 \(t\) 合不合法,只需要看他能不能每个空位都全部匹配上,而一个球能匹配一个箱子当且仅当他俩相邻且 \(t_{i}\) 大于等于球出现的时间。
那么根据 \(Hall\) 定理,要对每个 \(l,r\) 都满足 \(\sum_{i = l}^{r} a_{i} \le\) 能取到的并集,当然不能包含 \(t_{i} = inf\) 的。

这样就能从前往后 \(dp\) 了,设 \(dp_{i,j,k}\) 表示前 \(i\) 个盒子,最后一个盒子选的 \(t_{i}\) 为 \(j\),且前面的最小值为 \(k\) 的答案。
这样枚举下一个选的 \(t_{i + 1}\),就能做到 \(O(n^3)\)。

然后用前缀后缀优化一下就行。
\(O(n^2)\)。

如果 \(dp\) 里需要记录状态,考虑钦定是一种很常用的方法。

相关新闻

  • C语言“变量”与Python“Name”:跨语言核心概念及内存模型辨析
  • MarkDown Day1
  • 逆向基础--C++介绍与环境 (01)

最新新闻

  • 上海汽车音响改装选哪家?上海音乐人生,二十年赛事级连锁标杆门店 - 音乐人生汽车音响
  • 技术解析:从Tri-Plane到3D GAN,如何实现高效且一致的神经渲染
  • 通过Selenium实现网页截图来生成应用封面
  • 2026苏州钻石回收实测|国标4C定级,全城无套路靠谱门店变现指南 - 薛定谔的梨花猫
  • C语言宽字符处理:wmemcmp、wmemcpy、wprintf核心函数详解与实战
  • 多模态大语言模型LISA

日新闻

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