2011年10月15日

背包问题

摘要: 1 01背包问题有N件物品和一个容量为V的背包。(每种物品均只有一件)第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。解法:我们用dp[i][j]表示前i件物品重量不超过j的最大价值,则dp方程为j>w[i]时,dp[i][j]=max{dp[i-1][j],dp[i-1][j-w[i]]+c[i]}j<=w[i]时,dp[i][j]=dp[i-1][j].其中dp[i-1][j]表示第i件物品无法放在背包里的价值,dp[i-1][j-w[i]]+c[i]表示第i件物品放入背包里的最大价值,我们选择其中的较大的。优化:采用一维数组来优化dp[v] 阅读全文

posted @ 2011-10-15 21:39 buptLizer 阅读(322) 评论(0) 推荐(0) 编辑

导航