动态规划算法实现最少费用购物问题,java语言实现的,纠结了好久,刚开始学习,但完全摸不着头脑。

商品中每种商品都有标价。例如,一朵花的价格是2元,一个花瓶的价格是5元。为了吸引顾客,商品提供了一组优惠商品价。优惠商品是把一种或多种商品分成一组,并降价销售。如,三朵花的价格是5元不是6元。2个花瓶加1朵花的优惠价是10元。设计算法计算出某一顾客所购商品应付的最少费用,并用Java代码实现

1、商品间有关联,用以明确这个商品可以与哪些商品搭配销售。
2、搭配商品的定价策略,2件减多少,3件减多少。
3、推荐优先策略,价格最低、最省钱。
4、参考京东推荐模块效果。

优惠钱数 满XX-X;(适用所有商品)
优惠数量 满YY-Y;(适用单一商品,钱多的服从钱少的
就比如 一个牙刷3块,他是满5个-1个的加钱,然后我买了1个牙刷,4个牙膏,牙膏加钱>牙刷,
那就相当于5个牙刷,还是-去一个牙刷的加钱。)

特殊规则。但是按照上面如果牙膏也是5-1,那还是减一个牙刷的加钱,
如果牙膏是6-1,那就不优惠,如果牙膏是4-1,那就要先算牙膏的4-1,因为
这样省钱多。

拿数量算完了之后再和所有商品的满多少-多少计算。 哪个-的多用哪个。