POJ3253 Fence Repair(贪心,哈夫曼树)
来源:互联网 发布:java html5 视频播放 编辑:程序博客网 时间:2024/06/05 15:06
描述:
割木板,割木板的长度就是化的钱。比如你要8 8 5 的木板,最简单的方式是把21的木板割成13,8,花费21,再把13割成5,8,花费13,共计34,当然也可以先割成16,5的木板,花费21,再把16割两个8,花费16,总计37,现在就是问你花费最少的情况。
分析:
贪心算法。每次选取最小的两个木板,拼接成新的长度,加入到木板队列中,直到队列中只有一块木板。需要注意的是:最终结果的长度可能超过int,用__int64。
#include<iostream>#include<cstdio>#include<algorithm>#include<queue>using namespace std;int a[20010];int main(){ int n,i; while(scanf("%d",&n)!=EOF){ for(i=0;i<n;i++) scanf("%d",&a[i]); priority_queue<int ,vector<int >,greater<int > > que;//小堆 for(i=0;i<n;i++) que.push (a[i]); __int64 ans=0; while(que.size ()>1){ int l1=que.top (); que.pop (); int l2=que.top (); que.pop (); ans+=(l1+l2); que.push (ans); } printf("%I64d\n",ans); } return 0;}
阅读全文
0 0
- POJ3253 Fence Repair(贪心,哈夫曼树)
- POJ3253-Fence Repair-贪心-哈夫曼树
- poj3253 Fence Repair( 贪心 )
- POJ3253 Fence Repair(贪心)
- poj3253 Fence Repair 贪心
- POJ3253-贪心-Fence Repair
- POJ3253 Fence Repair (贪心)
- POJ3253 Fence Repair 贪心法 哈夫曼树
- POJ3253 Fence Repair 小顶堆+贪心
- 贪心算法 POJ3253 Fence Repair
- POJ3253 Fence Repair 贪心+优先队列(堆维护)
- poj3253 Fence Repair —huffman&&贪心(离散数学233)
- POJ3253 Fence Repair(huffman)
- poj3253 Fence Repair(哈弗曼)
- 【POJ3253】Fence Repair(优先队列+贪心)
- poj3253 Fence Repair 贪心/优先队列
- poj3253 Fence Repair【哈夫曼树+优先队列】
- POJ3253 Fence Repair【哈夫曼树+优先队列】
- 程序的内存布局——函数调用栈的那点事
- 数列有序! HDU
- 【前端】react学习阶段总结,学习react、react-router与redux的这些事儿
- 牛客网---2016---腾讯微信红包
- 《苏菲的世界》 ---- 听见
- POJ3253 Fence Repair(贪心,哈夫曼树)
- android root and su
- SpringMVC总结以及在面试中的一些问题
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- Git Problem—ortoiseGitPlink Fatal Error
- TCP流量控制和拥塞控制
- Longest Substring Without Repeating Characters(Time Limit Exceeded)
- What's the difference between arm-linux- / arm-none-linux-gnueabi- / arm-fsl-linux-gnueabi- in LTIB?
- GAN