給了你N個木棒,求把他們組裝成一根需要的最小花費,每次只能選兩根組裝在一起,需要的花費為兩個木棒之和,
以前遇到過把一整根切開的,那個是DP,這個則有些類似,可是大膽的猜測了一下,直接每次選取所有木棒中最短的兩根,這樣就可以了,那麼貪心是適用的,但是數量很多,而且兩根最短的組裝好了得插回去,這樣不可能每次都排序吧,
這題首先優先隊列肯定是可以做的,
最小堆也是可以的,每次都選出堆裡的最小的兩個求和再放回去即可
隊列本身也就是堆吧,所以差別不大,但是沒用過最小堆最大堆的 所以用一次把
#include
#include
#include
#include
#include
#include
#include
#include