Add All (全部相加)——UVA10954

题目链接:Add All

 UVA - 10954 

题目描述:

题解:

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

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

代码实现:

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

发布了44 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/DreamTrue1101/article/details/84255100
Add
ALL