洛谷 1880合併果子

2021-08-14 09:55:06 字數 563 閱讀 2124

這道題的做法有很多種,嘻嘻

1、貪心(好像幾個月前就這樣ac的)

排序是必須的,(我們不可能盲目的合併任意兩堆石子)因為按照最小石子合併得到的最後答案一定是最小的;可以考慮用兩個陣列來分別存放合併了的石子堆和未合併的石子堆(b[ ]和a[ ]);

然後我們比較當前沒有合併的石子堆中的前兩個和合併了的石子堆中的乙個,比較合併哪兩個石子堆會得到最小值;

**如下:

#includeusing namespace std;

bool cmp(const int &a,const int &b)

} int work()

}void init()

}int get()

return res;

}int work()

int get()

int work()

for(int i=1;i如果可以用algo維護其他的值,請大佬們指教(抱拳));

要上分推了,先溜了~嘻嘻

洛谷 1090 合併果子

合併果子 有n堆果子,第i堆果子數量為c i 每次合併操作能合併任意兩堆果子a與b,消耗的能量為c a c b 目標是不斷進行合併操作將所有果子合併為一堆,求出如何才能使消耗的能量最小。輸入第一行為果子堆數n 輸入第二行有n個整數,表示第i堆果子的數量 輸出有一行,消耗的最小能量 保證結果小於2 3...

洛谷1090 合併果子

題目描述 在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等於每次合併所耗...

洛谷 1090 合併果子(貪心)

題目描述 在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等於每次合併所耗...