九度OJ-1172 哈夫曼树
2015-03-17 19:53
253 查看
思路:
priority_queue<int> Q; //定义一个优先队列,默认是大顶堆 priority_queue<int,vector<int>,greater<int>> Q;//定义一个小顶堆 Q.push(x); //将x放入队列中 int a = Q.top(); //得到队列顶元素,也就是最小的元素 Q.pop(); // 队列顶元素出队列
实现:
#include <iostream> #include <queue> using namespace std; priority_queue<int,vector<int>,greater<int>> Q; int main(int argc, char **argv) { int n; while (cin>>n) { while (Q.empty()==false) { Q.pop(); } for (int i=0; i<n; i++) { int temp; cin>>temp; Q.push(temp); } int ans=0; while (Q.size()>1) { int a = Q.top(); Q.pop(); int b = Q.top(); Q.pop(); ans += a+b; Q.push(a+b); } cout<<ans<<endl; } return 0; }
相关文章推荐
- 九度OJ1172--哈夫曼树
- 九度OJ1172 哈夫曼树 优先队列
- ACM--哈夫曼树--九度OJ-1172
- 九度OJ-1172-哈夫曼树
- 九度OJ-题目1172:哈夫曼树-10计院上机D
- 【九度OJ】题目1172:哈夫曼树 解题报告
- 九度OJ 1172 哈夫曼树(不用建树)
- 九度OJ 1107 搬水果 -- 哈夫曼树 2011年吉林大学计算机研究生机试真题
- 九度OJ 1107 搬水果 -- 哈夫曼树 2011年吉林大学计算机研究生机试真题
- 【九度OJ-1172】 哈夫曼数
- 九度 1172:哈夫曼树
- 哈夫曼树--九度 1172 & 1107 [优先队列实现小顶堆]
- 九度:1172<哈夫曼树WPL>
- 九度 oj 1172,,107 优先队列的使用 (未理解优先队列)
- 九度 oj 1172
- 九度 1172:哈夫曼树
- 九度题目1172_哈夫曼树
- 九度题目1172:哈夫曼树
- 九度 题目1172:哈夫曼树
- 哈夫曼树应用——九度OJ题目1107:搬水果