Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 无界背包问题-每重最大值法_Algorithm_Knapsack Problem - Fatal编程技术网

Algorithm 无界背包问题-每重最大值法

Algorithm 无界背包问题-每重最大值法,algorithm,knapsack-problem,Algorithm,Knapsack Problem,问题: 给定一个重量为W的背包和一组物品,其中每件物品都有一个值和重量,找出背包中能装的最大值 所以我一直在网上阅读,我看到的所有解决方案都包括DP,但我不明白为什么 我想到的是: 对于每个项目,找到其每重量的值 在背包中尽可能多地包装每重量价值最高的物品 如果背包已满,则返回值 否则,对每个重量项目的下一个最高值执行相同操作(假设有空间) 重复上述步骤,直到背包装满或者我们已经看完所有物品 对我来说,这听起来比DP简单得多(但可能只是我自己)。 这种方法正确吗?我遗漏了什么吗?你能把你的非工作

问题: 给定一个重量为W的背包和一组物品,其中每件物品都有一个值和重量,找出背包中能装的最大值

所以我一直在网上阅读,我看到的所有解决方案都包括DP,但我不明白为什么

我想到的是:

  • 对于每个项目,找到其每重量的值
  • 在背包中尽可能多地包装每重量价值最高的物品
  • 如果背包已满,则返回值
  • 否则,对每个重量项目的下一个最高值执行相同操作(假设有空间)
  • 重复上述步骤,直到背包装满或者我们已经看完所有物品
  • 对我来说,这听起来比DP简单得多(但可能只是我自己)。
    这种方法正确吗?我遗漏了什么吗?

    你能把你的非工作代码发出去吗?从理论上讲很难理解。您可以尝试找到一个在线判断问题,并在那里提交代码。如果一切顺利,那么您的方法无论如何都是正确的,如果不正确,那么我们可以跟踪失败的测试用例以更好地理解问题。您可以发布非工作代码吗?从理论上讲很难理解。您可以尝试找到一个在线判断问题,并在那里提交代码。如果一切顺利,那么您的方法无论如何都是正确的,如果不正确,那么我们可以跟踪失败的测试用例以更好地理解问题