Algorithm 该算法是否适用于2016年ICPC世界总决赛任务L?
我被要求为2016年ICPC世界总决赛问题L制定一个解决方案,作为家庭作业 我成功地创建并运行了一个解决问题的程序。然而,我很好奇是否有更好的算法来解决这个问题 问题L如下: 一组Algorithm 该算法是否适用于2016年ICPC世界总决赛任务L?,algorithm,Algorithm,我被要求为2016年ICPC世界总决赛问题L制定一个解决方案,作为家庭作业 我成功地创建并运行了一个解决问题的程序。然而,我很好奇是否有更好的算法来解决这个问题 问题L如下: 一组n硬盘驱动器需要重新格式化。当驱动器i重新格式化时,其容量将从a_iGB变为b_iGB。所有硬盘驱动器最初都已满到边缘。为了存储硬盘x中的数据 正在重新格式化,您可以购买额外的硬盘驱动器。 任何重新格式化的驱动器都可以用来存储更多数据 (假设它有能力这样做)。来自硬盘驱动器的数据x 可以在其他硬盘驱动器之间拆分。编写一
n
硬盘驱动器需要重新格式化。当驱动器i
重新格式化时,其容量将从a_i
GB变为b_i
GB。所有硬盘驱动器最初都已满到边缘。为了存储硬盘x
中的数据
正在重新格式化,您可以购买额外的硬盘驱动器。
任何重新格式化的驱动器都可以用来存储更多数据
(假设它有能力这样做)。来自硬盘驱动器的数据x
可以在其他硬盘驱动器之间拆分。编写一个估算
重新格式化所需的最小额外空间量
不丢失数据的硬盘驱动器
我目前使用的算法与中的相同
该算法遵循以下步骤:
x
)的初始容量与swap+extra的值进行比较。如果swap+extra至少等于硬盘驱动器x
的初始值,则可以重新格式化硬盘驱动器x
的初始容量,请增加swap的值,直到您有足够的容量进行交换,然后重新格式化驱动器x
x
的最终容量和初始容量之间的差异添加到额外容量中,即使它是负值