问题描述:有多种物品选择每种物品需要消耗相应的代价,得到对应的价值,求总消耗少于N时最大能获得多少价值。
(N《5000)
例:设有2种物品,每种物品的代价与价值分别为3,4;2,3;,总消耗小于10.
1:数据结构:可以用结构体数组存。结构体中设置两个变量Prize和Value表示代价和价值。再设置一个变量ValuePerPrice
表示价值代价比
2:如何选择装入物品的优先级(贪心策略)?
价值代价比策略:
将物品按单位代价价值(ValuePerPrice=Prize/Value)降序排序,从第一项开始装背包,然后是第二项,第三项,以此类推,对于每一项,都尽可能的多放,直到装满背包。