题目链接:
洛谷
信奥一本通
题目描述:
给定n个叶结点,每个结点有一个权值 W [ i ] W[i] W[i],将它们中两个、两个合并为树,假设每个结点从根到它的距离是 D [ i ] D[i] D[i],使得最终 ∑ ( w i ∗ d i ) ∑(wi * di) ∑(wi∗di)最小。
题解:
Part 1 合并果子
这道题有很多方法能做,我一开始竟然脑抽用了个双向队列???
然后用sort排序,果然T了

然而玄学的是,加了O2以后…

好吧进入正题
这题的做法很简单,就是经典的Huffman树,即每次选择权值最小的两个数相加,删去这两个数,保留它们的和,然后重新排序一遍,直到只剩下一个数
删