POJ 3253.Fence Repair
题目:http://poj.org/problem?id=3253
AC代码(C++):
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <vector>
#include <queue>
#include <math.h>
#include <string>
#include <string.h>
#include <bitset>#define INF 0xfffffff
#define MAXN 50005using namespace std;struct cmp{bool operator ()(long long &a,long long &b){return a>b;}
};int main(){int n;long long ans = 0;priority_queue<long long,vector<long long>,cmp>q;cin>>n;long long tmp;for(int i = 0; i < n; i++){scanf("%lld",&tmp);q.push(tmp);}for(int i = 0; i < n-1; i++){tmp = q.top();q.pop();tmp += q.top();q.pop();q.push(tmp);ans += tmp;}cout<<ans;
}
总结: 这是一道关于哈夫曼树的题目. 一般做法是将输入放进数组里, 每次对数组排序, 取出(并删除)数组中最小的两个数, 相加并插入回数组中, 循环操作直到数组中只剩一个元素. 那么答案就是每次循环时插入的那个数的和. 如果按照普通做法来做, 每次循环都要进行排序, 会浪费太多时间导致TLE. 而优先队列正好解决了这个问题, 数组在插入时就会自动排好序, 耗时只有63ms.
POJ 3253.Fence Repair相关推荐
- POJ 3253 Fence Repair(修篱笆)
POJ 3253 Fence Repair(修篱笆) Time Limit: 2000MS Memory Limit: 65536K [Description] [题目描述] Farmer Joh ...
- POJ 3253 Fence Repair C++ STL multiset 可解
Fence Repair Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 53106 Accepted: 17508 Descri ...
- POJ 3253 -- Fence Repair
Fence Repair Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 55661 Accepted: 18331 De ...
- 贪心算法-----poj 3253 Fence Repair(切木板)
Description Farmer John wants to repair a small length of the fence around the pasture. He measures ...
- POJ 3253 Fence Repair 贪心
每次合并选最短的两块木板,用优先队列优化. //#pragma comment(linker, "/STACK:1024000000,1024000000") #include&l ...
- POJ No. 3253 Fence Repair
POJ No. 3253 Fence Repair 官方地址 题目 农夫约翰为了修理栅栏,要将一块很长的木板切割成N块.准备切成的木板的长度为L1.L2.-.LN,未切割前木板的长度恰好为切割后木板长 ...
- POJ 3253 - Fence Repai ( 优先队列 )
题意 切割木板, 比如一根长21的木板要切割成5, 8, 8的三块, 每次切割花费的金额为两断的长度. 比如先把21切成16和5, 花费21元, 再把16切成8和8, 花费16元, 总计消费37元. ...
- Fence Repair (二叉树求解)(优先队列,先取出小的)
题目链接:http://poj.org/problem?id=3253 Fence Repair Time Limit: 2000MS Memory Limit: 65536K Total Sub ...
- [BZOJ1724][Usaco2006 Nov]Fence Repair 切割木板
1724: [Usaco2006 Nov]Fence Repair 切割木板 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1272 Solved: ...
- 老BOJ 07 Fence Repair
Fence Repair Accept:199 Submit:784 Time Limit:1000MS Memory Limit:65536KB Description Farmer ...
最新文章
- 深度|10分钟读懂阿里巴巴高级专家在Flutter Live2018的分享
- C++ vector的释放
- 【填坑中】学生信息管理系统
- Align and Prompt:SalesforceANU提出ALPRO,进行细粒度的视频文本对齐!代码已开源!...
- 基于OPENldap搭建postfix 虚拟用户
- 拼多多公布新iPhone SE补贴后价格:2899元起;BOSS直聘回应“App崩了”;Chrome 新测试版发布|极客头条...
- 《数字图像处理 冈萨雷斯》数字图像基础——学习笔记
- ECharts 饼图指定颜色显示
- SLE12 Server 在线安装MySQL Server
- 酵素果冻真的能减肥吗?
- 从七桥问题开始:全面介绍图论及其应用
- CSS基础(P45-P65)
- 微信小程序轨迹回放实现及遇到的坑
- Altium Designer18之修改画图光标大小
- JS根据日期计算年龄
- Hadoop/Hive-学习笔记【中级篇】
- Java移位运算符不外乎就这三种
- 基于ROS的qbo机器人
- 访问和更新Orkut数据
- effective morden c++ 3