国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

分組背包

2019-11-11 04:26:13
字體:
供稿:網(wǎng)友
問題有N件物品和一個容量為V的背包。第i件物品的費用是c[i],價值是w[i]。這些物品被劃分為若干組,每組中的物品互相沖突,最多選一件。求解將哪些物品裝入背包可使這些物品的費用總和不超過背包容量,且價值總和最大。算法這個問題變成了每組物品有若干種策略:是選擇本組的某一件,還是一件都不選。也就是說設(shè)f[k][v]表示前k組物品花費費用v能取得的最大權(quán)值,則有:f[k][v]=max{f[k-1][v],f[k-1][v-c[i]]+w[i]|物品i屬于組k}使用一維數(shù)組的偽代碼如下:for 所有的組k    for v=V..0        for 所有的i屬于組k            f[v]=max{f[v],f[v-c[i]]+w[i]}注意這里的三層循環(huán)的順序?!癴or v=V..0”這一層循環(huán)必須在“for 所有的i屬于組k”之外。這樣才能保證每一組內(nèi)的物品最多只有一個會被添加到背包中。另外,顯然可以對每組內(nèi)的物品應(yīng)用P02中“一個簡單有效的優(yōu)化”。小結(jié)分組的背包問題將彼此互斥的若干物品稱為一個組,這建立了一個很好的模型。不少背包問題的變形都可以轉(zhuǎn)化為分組的背包問題(例如P07),由分組的背包問題進一步可定義“泛化物品”的概念,十分有利于解題。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 图片| 仁怀市| 新源县| 八宿县| 娄烦县| 武鸣县| 阳信县| 晋宁县| 汉源县| 延长县| 肥东县| 高雄县| 吉林省| 云浮市| 富源县| 淄博市| 汉中市| 东平县| 柯坪县| 绿春县| 电白县| 肥城市| 龙里县| 高台县| 邵武市| 嘉峪关市| 资讯 | 海淀区| 政和县| 慈溪市| 陆河县| 邵东县| 拉孜县| 景洪市| 克拉玛依市| 堆龙德庆县| 澎湖县| 府谷县| 凤冈县| 安塞县| 蕲春县|