我剛剛看到了一種類似下面的演算法問題。我不知道如何有效地解決它,所以我想聽聽你的意見。
問題是當你只能用下面的套裝購買時,你應該找到購買某些(至少)數量西紅柿的最便宜的價格。
目標:購買至少41個西紅柿
A 組:14,000 美元,10 個西紅柿(每個 1,400 美元)
套餐 B:15,000 美元,8 個西紅柿(每個 1,875 美元)
C 組:12,000 美元,含 3 個西紅柿(每個 4,000 美元)
一開始我只是想我應該每套買最便宜的,數量不超過數量(在本例中為 40 個),然后考慮其他情況(如 1 套 B 或 1 套 C ......),但這是錯誤的因為答案是 3 套 A、1 套 B、1 套 C(總價 69,000 美元)。
所以我想知道我是否應該考慮所有可能的超出條件數量的購買案例才能知道這一點。如果是這樣,有什么方法可以知道何時停止案例搜索(我的意思是優化搜索)?
uj5u.com熱心網友回復:
這是一個裝箱/ kansack 問題。只是谷歌它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/489534.html
上一篇:使A和B同時相等的最小運算元