【发布时间】:2017-01-15 16:56:27
【问题描述】:
我正在努力为算法课程想出一个解决这个问题的方法:
你去商店想买n = {n1, n2, ..., nn} 商品,商品可以不同也可以不同。
该商店有以下促销活动:“如果客户购买了两件商品,其价格加起来以 11 美分、33 美分或 55 美分结尾,他将收到一张价值相应美分的代金券。”
问题是要提出一种算法来计算购买给定商品集合的最优策略,其中希望总成本最小化。
例如: 如果您需要购买价格为(1.01$、2.10$ 和 3$)的 3 种产品(n1、n2、n3) ,您应该一起购买 n1 和 n2,然后分别购买 n3,总成本为: (1.01 + 2.10) + 3 - (0.11) = 6 美元。
没有给出任何提示,但我认为我可以使用一些流网络方法。
【问题讨论】:
-
那么这门课程是否暗示了问题的复杂性(P vs. NP-hard)?
-
不,仅此而已。 ://
标签: algorithm data-structures computer-science complexity-theory network-flow