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