题目可以转化为:在最多进行 (k) 次清仓操作的前提下,希望剩余物资数量最少的货架上的物资数量尽可能大。由于不同货架上的物资种类各不相同,清仓一个连续区间相当于将该区间内所有货架上的物资全部搬走(数量变为0)。留下的物资种类必须大于 0(不能全搬光),且剩余物资中最少的那个货架上的物资数量要尽可能大。
这类“最大值最小/最小值最大”问题通常可以使用二分答案来求解。我们二分最终的答案 (x),检查是否可以通过最多 (k) 次删除操作,使得剩余的所有货架上的物资数量都至少为 (x),并且至少剩下一个货架上有物资。
检查过程:
你是一位仓库管理员,面前有一排共 n 个货架,编号从左到右依次为 1 到 n。第 i 个货架上存有 ai 件某种物资,不同货架上的物资种类各不相同。
你可以进行最多 k 次清仓操作。每次操作需要选择一个编号连续的货架区间,将该区间内所有货架上的物资全部搬走(物资数量变为 0)。在整个过程中,你必须保证每一次操作后仓库里仍至少存在一种物资(即至少有一个货架上还有物资)。
你希望经过这些操作之后,剩余物资中最少的那个货架上的物资数量尽可能大。请问这个最大可能的最小值是多少?
约束:
In following contests:
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册