贪心法,给定n种物品和一个背包。物品i的重量是Wi,其价值为Pi,背包的容量为W。在选择物品i装入背包时。

2025-04-17 20:59:32
推荐回答(3个)
回答1:

你这个是部分背包么?也就是说物品可以随意分割?那么可以先算出单位重量物品的价值,然后只要从高价值到低价值放入就行了,按p[i]/w[i]降序排序,然后一件一件加,加满为止!贪心的思路是:加最少的重量得到更大的价值!算出单位价值为{6,4,3,2,7,5,2}加的顺序即为5,1,6,2,3,4/7如果重量不超过就全部都加,超过就加满为止不懂可问望采纳!推荐看dd_engi的背包九讲,神级背包教程!在此膜拜dd_engi神牛~

回答2:

呵呵 没懂

回答3:

用动态规划:
设初始状态f[0] = 0;
状态转移: f[w] = max(f[w-weight[i]] + cost[i])
答案即:f[W]