1.裝箱問題
輸入樣例:
860 70 80 90 30 40 10 20
輸出樣例:
60 1
70 2
80 3
90 4
30 1
40 5
10 1
20 2
5
#include
intmain()
for(
int i=
0;i)for
(int j=
0;jprintf
("%d\n"
,xsum)
;return0;
}
2.月餅月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。
注意:銷售時允許取出一部分庫存。樣例給出的情形是這樣的:假如我們有 3 種月餅,其庫存量分別為 18、15、10 萬噸,總售價分別為 75、72、45 億元。如果市場的最大需求量只有 20 萬噸,那麼我們最大收益策略應該是賣出全部 15 萬噸第 2 種月餅、以及 5 萬噸第 3 種月餅,獲得 72 + 45/2 = 94.5(億元)。
輸入格式:
每個輸入包含乙個測試用例。每個測試用例先給出乙個不超過 1000 的正整數 n 表示月餅的種類數、以及不超過 500(以萬噸為單位)的正整數 d 表示市場最大需求量。隨後一行給出 n 個正數表示每種月餅的庫存量(以萬噸為單位);最後一行給出 n 個正數表示每種月餅的總售價(以億元為單位)。數字間以空格分隔。
輸出格式:
對每組測試用例,在一行中輸出最大收益,以億元為單位並精確到小數點後 2 位。
輸入樣例:
3 20
18 15 10
75 72 45
輸出樣例:
94.50
#include
#include
using namespace std;
struct cakescake[
1000];
bool comp
(cakes a,cakes b)
intmain()
for(
int i=
0;i)sort
(cake,cake+n,comp)
;for
(int i=
0;i)else
}printf
("%.2f\n"
,sum)
;return0;
}
貪心演算法 裝箱問題
貪心演算法中必須設定乙個貪心準則 來尋求每一步的最優解,但最後往往不是問題的整體最優解。問題 假設有n個物品,其體積為v1,v2,v3,v4.v n,有若干個體積為v的箱子 理論物品的體積應該小於箱子的體積 要求把所有物品全部裝入箱子中,要求開啟的箱子數最少。分析 怎樣合理化分配才能使得開啟的箱子數...
貪心演算法(裝箱問題)
貪心演算法的基本思想是找出整體當中每個小的區域性的最優解,並且將所有的這些區域性最優解合起來形成整體上的乙個最優解。因此能夠使用貪心演算法的問題必須滿足下面的兩個性質 1.整體的最優解可以通過區域性的最優解來求出 2.乙個整體能夠被分為多個區域性,並且這些區域性都能夠求出最優解。3.區域性最優解不一...
貪心演算法 裝箱問題
描述 乙個工廠製造的產品形狀都是長方體,它們的高度都是h,長和寬都相等,一共有六個型號,他們的長寬分別為11,22,33,44,55,66。這些產品通常使用乙個 66h 的長方體包裹包裝然後郵寄給客戶。因為郵費很貴,所以工廠要想方設法的減小每個訂單運送時的包裹數量。他們很需要有乙個好的程式幫他們解決...