Add All (全部相加)——UVA10954

题目链接:Add All

 UVA - 10954 

题目描述:

Add All (全部相加)——UVA10954

题解:

有n(n<=5000)个数的集合S,每次可以从S中删除两个数,然后把他们的和放回集合,直到剩下一个数,每次操作的开销等于删除的两个数之和,求最小总开销,所有的数均小于10^5.

这不就是Huffman编码的建立过程吗?因为n比较小,还可以采用一种更容易的写法——优先队列。

代码实现:

Add All (全部相加)——UVA10954

扩展:看完之后大家可以了解一下优先队列的算法哦。