计算机科学

动态规划

背包问题

假设一个小偷发现自己在一个藏有几件贵重物品的保险库中。然而,他意识到他带来了一个容量很大的背包 .金库有 n n Items,其中item 年代 S_i 英镑和价值 v v_i 美元。小偷必须选择物品,以便在出售物品后尽可能多地赚钱。他创建了一个数组 o p t 一个 l j 最优[我][j] 在哪里 o p t 一个 l j 最优[我][j] 最大价值是通过使用物品获得的吗 n 1 我…n - 1 它们的重量最多 j j 磅。

由于在大学里从未学过计算机科学,小偷很快就为他的问题画出了四种递归关系。他知道只有一个是对的。帮他找到合适的人。

1: o p t 一个 l j = 一个 x o p t 一个 l + 1 j o p t 一个 l + 1 j 年代 + v j 年代 j 最佳[我][j] = max \{优(i + 1) [j],最优(i + 1) [j-s_i] + v_i \ \ (j \组s_j) \} 2: o p t 一个 l j = 一个 x o p t 一个 l + 1 j + 1 + v o p t 一个 l + 1 j 年代 j 年代 j \ \最佳[我][j] = max \{优(i + 1) [j + 1] + v_i,最优(i + 1) (j-s_i) \ \ (j \组s_j) \} 3: o p t 一个 l j = 一个 x o p t 一个 l 1 j o p t 一个 l j + 年代 j 年代 j \ \最佳[我][j] = max \{最优(张)[j],最优[我][j + s_i] \ \ (j \组s_j) \} 4: o p t 一个 l j = 一个 x o p t 一个 l + 1 j o p t 一个 l 1 j + 1 + 年代 j 年代 j \ \最佳[我][j] = max \{优(i + 1) [j],最优(张)[j + 1 + s_i] \ \ (j \组s_j) \}

给出一组有相应重量和价值的8个物品:

你想在不超过背包重量限制的情况下携带尽可能多的物品。知道背包的重量限制,你能得到的最大可能值是多少 12 12

下表列出了8个项目及其相应的权重和值。

假设背包的重量限制是 12 12 ,我们的目标是在其中存储最大可能的总价值。如果我们只能使用表中的物品,并且每种物品只有一件,那么在袋子内可以存放哪些物品的组合来实现我们的目标?

×

问题加载…

注意加载…

设置加载…