题目描述:

一块金条切成两半, 是需要花费和长度数值一样的铜板的。 比如长度为20的 金条, 不管切成长度多大的两半, 都要花费20个铜板。 一群人想整分整块金 条, 怎么分最省铜板?

示例:

例如,给定数组{10,20,30}, 代表一共三个人, 整块金条长度为10+20+30=60. 金条要分成10,20,30三个部分。

如果, 先把长度60的金条分成10和50, 花费60 再把长度50的金条分成20和30,花费50 一共花费110铜板。
但是如果, 先把长度60的金条分成30和30, 花费60 再把长度30金条分成10和20, 花费30 一共花费90铜板。输入一个数组, 返回分割的最小代价。

解析:

这个问题可以使用贪心思想解决。如果我们熟悉哈夫曼编码的话,应该很好理解。例如有10,20,30构建哈夫曼树,则构建过程如下:

其中花费的代价就是非叶子节点的值,也就是上图中加黑的数值,30+60=90.

咱们可以自顶向下观察,给您一个60的整块金条按照要求得到{10,20,30},可以第一刀切分为30+30,花费60,第二次切分为10+20=30,花费30,共花费60+30=90.

所以这个题目可以采用小根堆来做,每次取小根堆的最小两个数,使用结束后再把相加得到的花费加入小根堆,以此循环,直到小根堆只有一个数。

代码:

贪心:花最少的代价切分整块金条相关推荐

  1. 小技巧!CSS 整块文本溢出省略特性探究

    大家好,我是若川.欢迎加我微信 ruochuan12,长期交流学习.今天的文章很有意思,讲一讲整块文本溢出省略打点的一些有意思的细节.点击下方卡片关注我,或者查看源码系列文章. 文本超长打点 我们都知 ...

  2. Eclipse ADT 使用空格替代Tab键缩进整块整块代码

    已经设置单行缩进使用space替代Tab,但是使用Tab缩进整块代码,Eclipse还是使用Tab,真是抓狂,这个可是个很常用的功能啊,特别是在你ctr-c, ctr-v的时候. 忍受了很久,今天把所 ...

  3. 花最少钱购买阿里云服务器符合备案条件的云服务器配置

    在阿里云备案需要购买一台符合备案条件的云服务器,阿里云服务器备案条件为:中国大陆地域.包年包月计费模式.有公网带宽,最低购买3个月时长,阿里云服务器网根据这些要求,找到了一款云服务器66.9元即可搞定 ...

  4. 服务器硬盘整体ghost,GHOST备份操作系统与实现整块硬盘对拷数据还是很简单的...

    电脑在使用长了以后就免不了会发生一些问题,如电脑感染顽固病毒木马,杀毒软件查杀不了:安装系统时间长了硬盘里的碎片越来越多,运行的速度越来越慢:出现系统瘫痪不能使用,经常死机等一系列的问题,所以作为一名 ...

  5. 为了快 0.00007 秒,有家交易公司花 1400 万美元买了块地

    为了快 0.00007 秒,有家交易公司花 1400 万美元买了块地 2017-05-19 好奇心日报 人人宽客 对于高频交易公司来说,2/3 光速还是太慢了 眨眼 0.4 秒,常被形容快,但有家公司 ...

  6. (转)为了快 0.00007 秒,有家交易公司花 1400 万美元买了块地

    https://mp.weixin.qq.com/s/sBw2CTHQIva–Ne8jyXN9Q 为了快 0.00007 秒,有家交易公司花 1400 万美元买了块地 2017-05-19 好奇心日报 ...

  7. 【程序员讲装修】如何花最少的钱做出最出彩的装修效果?

    [程序员讲装修]如何花最少的钱做出最出彩的装修效果? 前言 首先先自我介绍一下,做过程序员,也做过装修,现在自由职业.有空写写文章,用程序员的思维规范化系统化定义装修,梳理自己的装修知识模块,说不定这 ...

  8. 怎么花最少的钱用最多的流量?告诉你“保底+流量卡”才是王道.

    众所周知,三大运营商的流量太贵了,基本上可以划到5元/G了,那么,对于流量一族的用户来讲,怎么才能用最少的钱用最多的流量呢,接下来,我们一块来聊聊这个话题. 想要花最少的钱用最多的流量,这个时候你可以 ...

  9. PADS Layout VX.2.3 灌铜之后只显示灌铜外框,没有显示整块铜皮

    操作系统:Windows 10 x64 工具1:PADS Layout VX.2.3 使用Copper Pour功能,画了一个灌铜区,并分配了网络. Tools > Pour Manager,打 ...

最新文章

  1. Open vSwitch(OVS)版本与Linux内核的关系
  2. sql 2012中获取表的信息,包含字段的描述
  3. python scrapy request_Scrapy中的Request和日志分析|python基础教程|python入门|python教程...
  4. APP 文档服务器,app服务器
  5. 模板引擎工作原理_广州seo了解下搜索引擎的工作原理是什么
  6. eclise去连接mysql,Eclipse如何连接MySQL
  7. 读书笔记 -《硅谷之火》《硅谷热》
  8. 网上找了c#仓库管理程序,编译的时候一直 报错
  9. 智慧党建管理系统开发,组织部干部人事管理任免平台建设
  10. python 3des加密_python3使用3des加密
  11. 2048小游戏后端的实现
  12. 计算机科学丛书数据库系统,计算机科学丛书:数据库系统概念 读书笔记(十四)--事务(示例代码)...
  13. 基于Python的指数基金量化投资 ——A股所有个股名称和证券代码获取
  14. android网络扫描工具,fing网络扫描仪安卓版
  15. java中接口幂等性解决方案总结
  16. Android studio关闭启动默认打开上次项目
  17. 网站数据统计常用指标(网站流量与性能分析指标)
  18. 通过root手机获得微信小游戏源码
  19. 南网电费接口API文档分享
  20. 电力电子系统仿真软件--Psim仿真软件设计

热门文章

  1. 【安全漏洞】水平权限漏洞和垂直权限漏洞
  2. 计算机一级考试ppt知识点,计算机一级考试考点:Powerpoint
  3. 【2】Pretrained Transformer As Universal Computation Engines
  4. IDEA启动Tomcat失败
  5. hhsjdhjaskld
  6. 风起云涌的中国手机市场,苹果你该提高警惕了!
  7. 【人工智能与深度学习】图卷积网络 I
  8. 100个经典的免费外贸网站
  9. php获取数组长度的方法+实例
  10. 从Loot推论如何在NFT领域做产品创新?