修理牧场

农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L
​i
​​ 个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L
​i
​​ 的总和。

但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次将木头锯成15和5,则第二次锯木头花费15,总花费为35(大于32)。

请编写程序帮助农夫计算将木头锯成N块的最少花费。

输入格式:
输入首先给出正整数N(≤10
​4
​​ ),表示要将木头锯成N块。第二行给出N个正整数(≤50),表示每段木块的长度。

输出格式:
输出一个整数,即将木头锯成N块的最少花费。

输入样例:
8
4 5 1 2 1 3 1 1
输出样例:
49

这题用优先队列,优先合成最小的,然后把合成的放进去,到一个的时候就可以结束了。

#include<bits/stdc++.h>
using namespace std;
int main()
{int ans=0;int n;cin>>n;priority_queue<int,vector<int>,greater<int> > q;int x;for(int i=0;i<n;i++){cin>>x;q.push(x);}int a,b;while(q.size()>1){a=q.top();q.pop();b=q.top();q.pop();ans+=(a+b);q.push(a+b);}cout<<ans;return 0;}

PTA 数据结构 修理牧场相关推荐

  1. PTA 7-1 修理牧场

    题目描述 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L​i的总和. 但是农夫自己没有锯子, ...

  2. PTA:修理牧场(哈夫曼算法)

    农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L​i的总和.但是农夫自己没有锯子,请人锯木的酬 ...

  3. 7-2 修理牧场 (25 分)

    大一下半期数据结构 修理牧场 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L​i​​的总 ...

  4. PTA 数据结构与算法 7-29 修理牧场

    如有不对,不吝赐教 进入正题: 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i ​​ 个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L​i​ ...

  5. 数据结构PTA习题:基础实验4-2.7 修理牧场 (25分)

    基础实验4-2.7 修理牧场 (25分) 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L ...

  6. python 7-33 修理牧场 (25 分) PTA

    农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li​个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是Li​的总和. 但是农夫自己没有锯子,请人锯木的 ...

  7. 7-29 修理牧场 (25分)(PTA实验题)

    7-29 修理牧场 (25分) 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li ​​ 个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是Li ​​ ...

  8. 数据结构-树结构-哈夫曼应用-修理牧场

    二叉树应用-修理牧场 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L​i​​的总和. 但 ...

  9. PTA训练笔记 7-2 修理牧场(哈夫曼思想)

    农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li​个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是Li​的总和. 但是农夫自己没有锯子,请人锯木的 ...

最新文章

  1. 从Google Scholar看各大科技公司的科研水平
  2. html5初探ppt,HTML5---HTML5初探151019解析.ppt
  3. 解决 Visual Studio 2017 RC 不兼容低版本 Visual Studio 创建的 MVC 4 项目的问题
  4. 一般程序句柄多少linux,一个进程能够打开最大文件句柄数设到多大才合适(Linux)...
  5. java bean参数清空_给bean的属性赋值
  6. python将图片转化成字符图片_python如何将图片转换为字符图片
  7. ==和Equal()
  8. Java 错别字检查接口 API
  9. ✨❤️CSDN标题党❤️,创意无极限,那不直接全网站都花的飞起?
  10. 绘制3d散点图报错ax = fig.gca(projection = ‘3d‘)TypeError: gca() got an unexpected keyword argument
  11. 阿里P6+Java研发工程师,到底牛在哪儿?
  12. 信用卡不激活到底会怎样?会有哪些负面影响呢?
  13. 计算机房的英语该怎么读,计算机机房硬件维护,Computer room hardware maintenance,音标,读音,翻译,英文例句,英语词典...
  14. 做了三年数据分析,给你的几点建议
  15. 生活随记 - 惋惜卡哇伊
  16. java 一笔一划 写汉字_基于Web的汉字一笔一划书写方法
  17. FTP的主动模式和被动模式工作原理
  18. 电脑网络里面无法显示本计算机,电脑的本地连接不见了怎么办 电脑的本地连接不见了解决方法...
  19. 刺探内心深处远古的记忆OnDragListener
  20. Django用admin开发的幼儿园薪资管理系统-3

热门文章

  1. 聚合API文档阅读帮助
  2. mysql 数据库中将中文转化为拼音
  3. java导出excel 边框不全_POI 导出Excel合并单元格后部分边框不显示
  4. pytion基础语句之数据类型
  5. ubuntu启动报错kernel panic
  6. 用代码写一个炫酷的地球
  7. 1147 简单评委打分
  8. 【紧急情况】:回宿舍放下书包的我,花了20分钟敲了一个抢购脚本
  9. Android之内嵌PDF预览
  10. 化工厂人员定位的实施,新导化工厂人员定位带来的效果