【发布时间】:2016-07-24 21:22:33
【问题描述】:
我目前正在编写一个供个人使用的简单脚本,该脚本将列出我想购买的所有物品的清单以及来自在线价格比较器的每件物品的价格,并尝试找到购买所有物品的最便宜方式(请记住,如果您从同一家商店购买多件商品,您只需支付一次运费)。实现这一目标的最简单方法是什么?
我曾想过为此使用匈牙利算法,但意识到这可能不是最好的主意,因为从同一家商店购买往往正是我们确实想要的,而不是要避免的。另一方面,试图贪婪地找到手头最多的商店也是失败的,因为他们确实出售它们并不意味着他们以最优惠的价格出售它们,即使我们只支付一次运费。
你会推荐什么?是否有一些易于实施的解决方案?
【问题讨论】:
-
首先想到的是从一个可行的解决方案开始,最大限度地减少不同商店的数量(即从一个商店购买尽可能多的产品),然后为每个产品查看是否从另一家商店购买它降低总额(这意味着价格差异应抵消增加的运费,除非您已经将商品分配给该商店)。
标签: algorithm computer-science