1 条题解
-
0
自动搬运
来自洛谷,原作者为

Cry_For_theMoon
**搬运于
2025-08-24 22:14:35,当前版本为作者最后更新于2021-07-04 08:13:06,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
提供一个更加优越的做法。
首先想到暴力,设 是第 台机器做 个 , 个 ,最后做的一个任务是 的最少时间。 预处理后继续设 是前 台机器分配 个 , 个 ,最慢完成的机器的完成时间的最小值。正常背包即可,但这部分复杂度高达 . 虽然最后还是 AC 了,但是 2001 年的机子显然没有今天这么快,也就是说正解很可能并不是暴力背包。
同样设 是某台机器做 个 , 个 的最少时间。
引理:固定 后 是单谷的
对,看上去非常反人类,为什么 还会比 要慢。(其实样例里第 台机器在 的时候就是这样)题目里唯一不舒服的地方就是那个“处理连续同类任务所需时间是系数乘以任务数目的平方”。我们知道平方增长是非常快的,所以很容易想到
变成了
如果 的执行系数 特别高昂而执行 的代价特别低廉,我们就用了执行一次 的代价把一个 变成了 . 那显然代价会更小。
所以这个反人类的东西确实可能成立。但是我们怎么说明其单谷呢。首先考虑除了切割 还有没有别的形式使得添加一个 后代价更加低廉,我们得到的结论是“没有”。证明如下:
首先证明,如果 和其它早就有的 合在一起,那么 是不会变小的。这是因为如果最后 较添加前变小,去掉这个 的 应该更小,矛盾了。
那么这个 只可能单独为一段,才有可能更优秀。它影响不到别的 的答案,只能影响 的答案来让 变小。而影响 的答案,对于 来说,除了切割没有别的方法。证毕。
然后考虑说明其单谷性:
如果 不断上升,说明 对 的切割不再有效,此时后面 不再会下降。
所以如果开头 就上升,那么它就是不断上升的;如果开头 下降,要么它也不断下降上去,要么下降到一个点,开始上升,然后不断上升下去。所以 是单谷函数。证毕。
“这个引理想到后这个题就差不多了。”
确实,因为我们不难想到二分耗时机器最大的那台的最早结束时间。然后对于每台机器,确定了其 的台数,其最大能执行的 的台数是可以确定的。也就是说有 个状态,然后继续设 是前 个机器共做 台 能同时做的最大的 的数目。这个东西的确定就是 的。所以我们在 的时间内解决了这个问题。
代码就不放了。
还是暴力香吧。
- 1
信息
- ID
- 4786
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 6
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者