POJ 3253(Huffman树求最小权值)
来源:互联网 发布:单片机 控制 四轴 编辑:程序博客网 时间:2024/06/07 22:06
题目链接:http://poj.org/problem?id=3253
题意:给出n个木棒长度,从无限长的木棒上锯断n-1次,每次锯断需要花费的代价为木棒的长度,求最小代价。
思路:Huffman树求最小权值的问题,用优先队列可以很方便的解决这道题。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>using namespace std;const int INF=0x3f3f3f3f;const int maxn=10010;typedef __int64 LL;LL n,x;int main(){#ifndef ONLINE_JUDGEfreopen("test.in","r",stdin);freopen("test.out","w",stdout);#endifwhile(~scanf("%I64d",&n)){priority_queue<LL,vector<LL>,greater<LL> >q;for(int i=0;i<n;i++){scanf("%I64d",&x);q.push(x);}LL sum=0;if(q.size()==1){//注意特判一下1的情况sum+=q.top();}else{while(q.size()>1){int a=q.top();q.pop();int b=q.top();q.pop();sum+=a+b;q.push(a+b);}}printf("%I64d\n",sum);}return 0;}
0 0
- POJ 3253(Huffman树求最小权值)
- poj 3253 Huffman树(最优二叉树)
- POJ 3253 Fence Repair (贪心 + Huffman树)
- poj 3253 Fence Repair 【huffman树 贪心】
- poj 3253 huffman(切木棍)
- POJ 3253 - Fence Repair(贪心+Huffman)
- poj 3253 huffman 贪心
- poj 3522(求最小生成树,使得最边和最小边差最小)
- 【POJ 2400】 Supervisor, Supervisee(KM求最小权匹配)
- poj 1679 求最小生成树的值是否唯一
- POJ 1258 Agri-Net (kruskal求最小生成树)
- poj 1258 Agri-Net(prim求最小生成树)
- Huffman编码(Huffman树)
- poj 2195(KM求最小权匹配)
- POJ 1789 prim求最小生成树
- POJ 3253 Fence Repair Huffman
- poj 1784 Huffman's Greed 动态规划四边形加速求最优二叉搜索树
- POJ 1861||ZOJ1542 kruskal求最小生成树(POJ秒杀啊)
- NOJ 题目1642 简单的图论问题?(BFS)
- Linux进程学习笔记(一)
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- 菜花这样做,就着它吃光三碗饭
- 初学Volley
- POJ 3253(Huffman树求最小权值)
- 简述java构造函数
- JAVA观感器
- NOJ 题目1645 聊天止于呵呵(模拟)
- The Java™ Tutorials — Generics :Generic Types 泛型
- MySQL识别下列转义字符:
- 《深入理解计算机系统》——计算机系统漫游
- Standard Shader各种参数的意义
- invoke begininvoke