【发布时间】:2018-10-22 16:53:34
【问题描述】:
我在 SAP 实验室的分班考试中遇到了这个问题:
今天是你的生日,所以你会得到一个带有固定空格“S”的包。你可以去商店挑选你喜欢的物品,这些物品可以放在你的包里。商店有 'n' 件商品,每件商品占据一个空间 s[i]。你必须找出你可以装满的最大空间。
例如,假设您的包限制为 S = 15,而商店有 10 件尺寸为 [1, 7, 3, 5, 4、10、6、15、20、8]。现在您可以通过各种方式填充 15 空间,例如 [1, 7, 3, 4], [7, 3, 5], [15], [5, 10] em> 等等。所以你返回15。
注意: 物品的尺寸有问题。所有项目,但最多 15 遵循以下规则:*对于所有 i, j, 或者 size[i]>=2*size[j] +1 或 size[j] >= 2*size[i] +1 如果 i ≠ j.*
约束:
1。
1.
1.
示例:S = 9,n = 5,大小 = [1, 7, 4, 4, 10]。
输出:8。您不能以任何方式准确地填充 9 空间。您可以使用 [1, 7] 或 [4, 4] 填充 8 个空格。
【问题讨论】:
-
我试图通过回溯忽略注释中给出的信息来解决这个问题。我的解决方案在 s0me 案例中运行正确,但在很多案例中都提供了 TLE。
-
您记住了您的解决方案吗?在二次时间内有一个 DP 解决方案
-
@thebenman 这个问题与背包不同,因为它不要求最大化没有。背包问题中的物品数量。注释中给出的要点也使这个问题变得更加困难。
-
@thebenman 既然您已经指出,我认为这个问题本可以由 DP 解决。为自己感到难过:(。