POJ 3253.Fence Repair
来源:互联网 发布:北京美工工资怎么算 编辑:程序博客网 时间:2024/05/18 00:49
题目: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.
阅读全文
0 0
- POJ 3253.Fence Repair
- POJ 3253 Fence Repair
- poj 3253 Fence Repair
- POJ 3253 Fence Repair
- POJ 3253 Fence Repair
- POJ 3253 Fence Repair
- POJ 3253 Fence Repair
- poj 3253 Fence Repair
- POJ 3253Fence Repair
- POJ--3253 -- Fence Repair
- poj-3253-Fence Repair
- POJ 3253 Fence Repair
- poj Fence Repair 贪心
- POJ 3253 Fence Repair
- poj 3253 Fence Repair
- poj 3253 Fence Repair
- POJ - 3253 Fence Repair
- POJ 3253 Fence Repair
- JavaScript 实例:点击漫天小星星 (获取整个浏览器窗口的宽高)
- centos7 安装nagios监控软件
- postgresql中客户端连接到服务器端之后产生的进程情况
- Linux下GitLab的安装部署和web出现502的一个解决建议!
- java基础: 基本数据类型前最好了解 原码、反码、补码
- POJ 3253.Fence Repair
- java 8 comparator 使用lambda 表达式
- ORACLE 体系结构详细图
- Tomcat —— 不是问题的问题
- eclipse部署项目到Tomcat缺少jsp、css等静态资源文件解决办法
- 漫画新手学习教程之零基础人体入门
- WinHex自定义模板
- centos7.2 nagios被监控端安装与配置
- 658. Find K Closest Elements