UVA 10954 Add All(Huffman编码)
来源:互联网 发布:大数据医疗公司 编辑:程序博客网 时间:2024/05/20 11:22
题意:有n个(n<=5000)个数的集合S,每次可以从S中删除两个数,然后把它们的和放回集合,直到剩下一个数;每次操作的开销等于删除的两个数之和,求最小的总开销。所有数均小于10^5.
分析:从题意可以看出这是一个Huffman编码的问题。
AC代码:
#include<cstdio>#include<cstring>#include<queue>using namespace std;typedef long long LL;int main(){int N;while(scanf("%d",&N)==1 && N){priority_queue<int,vector<int>,greater<int> > q;for(int i = 0; i < N; i++){ int t; scanf("%d",&t); q.push(t);}LL tot = 0;for(int i = 0; i < N-1; i++){ int t = 0; t += q.top(); q.pop(); t += q.top(); q.pop(); q.push(t); tot += t; }printf("%lld\n",tot);}return 0;}
阅读全文
0 0
- UVA 10954 Add All(Huffman编码)
- uva 10954 Add All(哈弗曼编码)
- 哈夫曼编码(Add All,uva 10954)
- UVA 10954 Add All 全部相加 Huffman编码 双队列解
- uva - 10954 - Add All(优先队列、哈夫曼编码思想)
- UVa 10954 - Add All
- UVa 10954 - Add All
- uva 10954 - Add All
- uva 10954 - Add All
- UVA 10954 ADD ALL
- Uva 10954 - Add All
- UVA 10954 - Add All
- UVa 10954 - Add All
- UVa 10954 - Add All
- UVa:10954 Add All
- uva 10954 Add All
- uva 10954 Add All
- uva 10954 Add All
- osg自动生成法线的方法
- Unity shader学习笔记 (二)
- java中怎么调用sort方法
- Kotlin-Android世界的一股清流-Class类
- php post提交失败,但是get正常
- UVA 10954 Add All(Huffman编码)
- FindBugs错误整理
- hadoop2.4.1伪分布式搭建
- Unity协程的yield & C#的yield关键字
- struts执行流程
- ssm框架搭建过程中出现 spring-org.springframework.beans.factory.BeanDefinitionStoreException的解决
- Myeclipse错误Tomcat的不能部署问题
- 在NS3中添加新的VANET模块
- c++类--素数