UVa 10954 全部相加(Add All)
题意:
有n个数的集合S, 每次可以从S中删除两个数,然后把他们的和放回集合,直到剩下下一个数。每次操作的开销等于删除的两个数之和,求最小总开销。所有数均小于1e5.
分析:
这不就是哈夫曼树的构建过程吗?
代码:
#include<bits/stdc++.h>
#define LL long long
#define ms(s) memset(s, 0, sizeof(s))
usi...
原创
2019-11-09 10:13:42 ·
205 阅读 ·
4 评论