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

带有特殊对象的背包算法

徐栋
2023-03-14

我需要创建算法的扩展背包问题,其中我们有特殊的物品与正常的物品,我可以只打包几个特殊的物品。

所以,我们有N个项目,我们知道每个项目的权重/值/是特殊的。定义了特殊项的最大个数S。

你知道吗?

共有1个答案

闻人花蜂
2023-03-14
P[i,j,k] := maximum profit attainable for items in {1,...,i} with weight
            in the first component at most j and weight in the second
            component at most k
            
            for any i in {1,...,N}
                    j in {1,...,C1}
                    k in {1,...,C2}
P[i,j,k] = max{ P[i-1,j-w1[i],k-w2[k]] + p[i], // item i occurs
                P[i-1,j,k]                     // item i does not occur
              }

在实际实现中,需要进行一些索引检查,以确定第一种情况是否真的可以发生。

 类似资料:
  • 问题内容: 我遇到了一个大问题,即通过jQuery Ajax将数据作为JSON发布到我的服务器。JSLint表示数据正常,并且请求的Content- Type设置为。服务器在PHP 5.2.11上运行,所以我不能使用。 我尝试了url_decode,utf8_decode和html_entities_decode,但似乎没有任何效果。 返回null,但如果执行此操作,一切正常。是发布数据:。 这是

  • 除了 Label,Sprite 这些基本的节点对象外,Cocos2d-x 还提供了一些特殊的节点对象,来帮助构建一些高级功能。 也许你想制作一个基于瓦片地图的游戏,也许你想添加粒子效果,也许你想在游戏中添加一个 2D 滚动的边栏,别担心,这些特殊的节点对象能帮助你。

  • 特殊包中可用的功能是通用功能,它遵循广播和自动数组循环。 下面来看看一些最常用的特殊函数功能 - 立方根函数 指数函数 相对误差指数函数 对数和指数函数 兰伯特函数 排列和组合函数 伽马函数 下面来简单地了解这些函数。 立方根函数 这个立方根函数的语法是 - 。 这将获取的基于元素的立方体根。 参考下面的一个例子 - 执行上面示例代码,得到以下结果 - 指数函数 指数函数的语法是 - 。 这将计算

  • 问题内容: 我正在开发一个使用jQuery,PHP和JSON作为响应的依赖选择脚本。 除了使用特殊字符(如法语(é,è,à…))外,其他所有内容都运行良好 如果我像(é,è和à)那样对它们进行预编码(这里我在&符和单词的其余部分之间使用空格以防止在我的问题中进行自动编码)它可以工作,但是当使用jquery渲染字符时不会转换为应具有的外观(é…),而是按原样

  • 方法1, 通过SetupBy,将Ioc容器放到一个public的静态属性, 推荐. @SetupBy(MainSetup.class) public class MainModule {} public class MainSetup implements Setup { public static Ioc ioc; public void init(NutConf

  • 我有一个项目清单,每个项目都有一个价格--或者就背包问题而言,一个重量。可购买物品的数量只受预算的限制,所以只要总花费不超过某个常数,就有可能购买尽可能多的物品。我也有一个算法,它基于某些变量,告诉每一个项目的利润(即每一个项目的价值)。所以基本上,我有一个有界背包问题,额外的条件是每个物品中有一个以上适合背包。 我想在这些条件下使利润最大化。我知道没有一个有效的解决方案,但至少有一个可行的方案吗

  • 问题内容: 我有一个 DOM元素: 有两个ID 和的字段..。我可以访问,没有任何问题,但是由于名称中包含句点,导致语法错误而失败。 如何访问这些属性? 问题答案: 使用方括号表示法: 这适用于任何对象,对于非标识符安全的字符以及访问你可能提前都不知道的键特别有用。

  • 问题内容: 我们需要从Typescript中的node.js代码中调用REST API,并希望具有用于请求和响应的相应类型。不幸的是,给定接口的JSON包含以下字段: 我们被告知,这是由于另一端的自动化“ JSONifier”的局限性而无法更改的。我们如何设置适合于此的接口?以下显然不起作用: 问题答案: 就像JS对象一样,您可以用引号将名称引起来,如下所示: