1 条题解
-
0
考虑没有 这个限制的时候怎么做。这是一个反悔贪心的过程:维护一个小根堆,按 从小到大依次扫,我们钦定修改的过程均在 处进行。每次向堆中加入 ,然后枚举这个位置上的修改 ,如果当前堆顶的值消耗 后总代价不会变劣,则取出。为了反悔,此时需要再向堆中加入 。这样可以做到,假设某个物品 一开始被 修改,但最优时需要被 修改,那么反悔操作可以被两次从堆中取出 后抵消,即 。
但是现在有一个 的限制。设 表示恰好取出 个物品时的最小代价。假设在 处取到最小代价,则这时对于某个 , 从小到大,会优先取耗费代价少的,并且这时由于取的代价都是负的,因此总代价减得很快;然后对于 ,又不得不取代价为正的,那也是优先选耗费代价小的。因此 就是一个下凸函数。现在要求 ,那么直接 wqs 二分即可。时间复杂度 。
- 1
信息
- ID
- 1557
- 时间
- 3000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 3
- 已通过
- 1
- 上传者