当前位置: 首页 > 知识库问答 >
问题:

背包问题将如何把这些重量放在一个袋子里,如下所示

郜彬
2023-03-14

一次盗窃,抢劫一家商店,发现n件物品;ith元素价值vi美元,重量wi磅。他想尽可能带贵重的东西,但他的背包最多能带W磅。盗窃罪被允许拿走一个物品的重量的分数和价值的分数。确定他应该拿哪些物品?目标是在不超过背包重量限制W的情况下最大化物品的价值。项目1(价格=30$,重量=10kg),项目2(价格=100$,重量=25kg),项目3(价格=250$,重量=50kg),项目4(价格=30$,重量=30kg),项目5(价格=20$,重量=10kg),背包容量(W)=100kg

共有1个答案

危晨
2023-03-14

因为小偷可以拿一个项目的一小部分,拿一个重量的一部分,拿一个价值的一部分,所以你可以使用贪婪的算法。

按(value/weight)降序对(value,weight)对进行排序。然后简单地从这个列表中选择项目,直到您没有空间为止。

 类似资料:
  • 严重程度代码说明项目文件行列警告CS1998此异步方法缺少await操作符,将同步运行。考虑使用'await'运算符来等待非阻塞API调用,或者使用'await task.run(...)'在后台线程上执行CPU绑定的工作。ImageParser C:\users\johny\documents\visual Studio 2015\projects\ImageParser\imdbsample\

  • 问题内容: 我想在条件之前写一个子句,因为我需要将结果截短到仅10个,但是我需要首先按字母顺序对它们进行排序。 我知道,你不能把以前那么我该怎么办呢? 我需要执行以下操作: 问题答案: 您可以为此使用内联视图

  • 启动错误 ApplicationContext.若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-10-17 15:44:43.968错误10460--[main]O.S.Boot.SpringApplication:应用程序运行失败 我的pom.xml:

  • 我正试图在Android Studio上调试我的项目——一个非常简单的东西——hello world。我得到这个信息: "安装未成功。应用程序无法安装:INSTALL_FAILED_MISSING_SHARED_LIBRARY apk列表:[0]'C:\Users\Pierr\AndroidStudioProjects\Hello\app\build\outputs\apk\debug\app d

  • 编写一个程序,定义一个类TestIsSubString和一个方法isSubString,该方法在另一个字符串中搜索特定的字符串;如果前者存在于后面的字符串中,则该方法必须返回true。例如:-isSubString(“cat”,“the cat in the hat.”)为true,但isSubString(“bat”,“the cat in the hat.”)为false。还要验证满足以下边界

  • 当您使用Minecraft forge时,它会创建一个外部/mods/文件夹,您可以将mods放入其中。是否有一种方法可以将所有MOD、配置设置(如splash.propreties)和资产打包成一个单独的组件。jar文件是否易于分发? 我正在制作一个定制的mod pack,我不喜欢你必须安装forge,然后下载mod pack,然后安装mods才能运行我的mod pack。有没有一种方法可以将它