DOJ logoDOJ
登录注册
DOJ logoDOJ
征题
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 账号绑定的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
题解

百力滋装盒

返回题目

题解

设前 iii 根的最优状态为 Fi=(Bi,Ui)F_i=(B_i,U_i)Fi​=(Bi​,Ui​),优先最大化盒数 BiB_iBi​,相同时最小化使用根数 UiU_iUi​。不使用第 iii 根时得到 Fi−1F_{i-1}Fi−1​。若最后一盒为区间 k+1,…,ik+1,\ldots,ik+1,…,i,前缀和须满足 Qi−Qk≥XQ_i-Q_k\geq XQi​−Qk​≥X,得到候选 (Bk+1,Uk+i−k)(B_k+1,U_k+i-k)(Bk​+1,Uk​+i−k)。固定最后一盒后,前面的前缀可以取最优方案,因此该转移覆盖所有方案。子任务 111 可枚举全部 kkk,用 O(N2)O(N^2)O(N2) 时间求解。对于完整限制,正重量保证前缀和严格递增。满足 Qk≤Qi−XQ_k\leq Q_i-XQk​≤Qi​−X 的下标依次成为候选,可用指针将每个下标加入一次。维护候选中 BkB_kBk​ 最大、并在相同时 Uk−kU_k-kUk​−k 最小的状态,再与 Fi−1F_{i-1}Fi−1​ 比较。时间复杂度为 O(N)O(N)O(N),空间复杂度为 O(N)O(N)O(N)。

Solution written by GPT6.1