优先队列的使用
来源:互联网 发布:mac 翻墙付费软件 编辑:程序博客网 时间:2024/06/04 01:16
运用哈弗曼贪心选择
选择两个最小的值合并,加入优先队列
#include<queue>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define LL long longpriority_queue<LL,vector<LL>,greater<LL> >q;int main(){ LL n,T,t; //freopen("in.txt","r",stdin); scanf("%lld",&T); while(T--) { while(!q.empty()) q.pop(); scanf("%lld",&n); for(int i=0;i<n;i++){ scanf("%lld",&t); q.push(t); } LL ans=0,a,b; while(q.size()>1) { a=q.top();q.pop(); b=q.top();q.pop(); ans+=a+b; q.push(a+b); } printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- 优先队列的使用
- shell中grep命令详解
- Linux下安装rabbitmq
- 使用java调用kettle 总结(一)
- Unable to create Debug Bridge: Unable to start adb server: error:
- 使用java调用kettle 总结(二)
- 优先队列的使用
- 关于云计算架构设计的几点注意事项
- AndroidUI之底部导航栏的四种实现
- LeetCode 33. Search in Rotated Sorted Array
- 最短路径问题算法
- iScroll下拉刷新上拉加载(简洁易懂版本)
- Linux笔记
- 马凯-linux
- rabbitmq介绍及rabbitmq在java中基础使用