http://codevs.cn/problem/1063/

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 钻石 Diamond

题目描述  Description

在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。

每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。

因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。

例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以多多总共耗费体力=3+12=15。可以证明15为最小的体力耗费值。

输入描述  Input Description

输入包括两行,第一行是一个整数n(1<=n<=10000),表示果子的种类数。第二行包含n个整数,用空格分隔,第i个整数ai(1<=ai<=20000)是第i种果子的数目。

输出描述  Output Description

输出包括一行,这一行只包含一个整数,也就是最小的体力耗费值。输入数据保证这个值小于231。

样例输入  Sample Input


1 2 9

样例输出  Sample Output

15

数据范围及提示  Data Size & Hint

对于30%的数据,保证有n<=1000: 
对于50%的数据,保证有n<=5000; 
对于全部的数据,保证有n<=10000。

分类标签 Tags 点此展开

通过4 k
提交12 k

35%

通过率

Summary

AC
38%
WA
39%
TLE
9%
MLE
1%
RE
14%

  • 46831 AC
  • 48492 WA
  • 11103 TLE
  • 664 MLE
  • 16985 RE

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<queue>
 6 using namespace std;
 7
 8 priority_queue<int>que;
 9 int x,tot,n,tmp;
10
11 int main()
12 {
13     cin>>n;
14     for(int i=1;i<=n;i++)
15     {
16         cin>>x;
17         que.push(-x);
18     }
19     for(int i=1;i<n;i++)
20     {
21         tmp=que.top();
22         tot-=que.top();
23         que.pop();
24         tmp+=que.top();
25         tot-=que.top();
26         que.pop();
27         que.push(tmp);
28     }
29     cout<<tot;
30     return 0;
31 }
32  

转载于:https://www.cnblogs.com/Shy-key/p/6370970.html

T1063 合并果子 codevs相关推荐

  1. [LUOGU] 1090 合并果子

    题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆.每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可以看 ...

  2. 合并果子(NOIP2004)

    合并果子(NOIP2004) [问题描述] 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了 不同的堆.多多决定把所有的果子合成一堆.每一次合并,多多可以把两堆果子 合并到一起, ...

  3. SDUT 2127 树-堆结构练习——合并果子之哈夫曼树(优先队列)

    树-堆结构练习--合并果子之哈夫曼树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description ...

  4. sdut 2127 树-堆结构练习——合并果子之哈夫曼树 优先队列

    Problem Description 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的 ...

  5. PAT甲级1125 Chain the Ropes:[C++题解]贪心、优先队列、合并果子

    文章目录 题目分析 题目来源 题目分析 来源:acwing 板子题:合并果子合并果子优先队列 分析:贪心策略是: 每次取最短的两条绳子a和b.该两条绳子合并为1条绳子,且长度变为a+b2\frac{a ...

  6. 树-堆结构练习——合并果子之哈夫曼树

    树-堆结构练习--合并果子之哈夫曼树 Description 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆 ...

  7. 合并果子_tyvj1066_vijos1097_codevs1063_贪心+堆

    描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可以看 ...

  8. SDNU 1171.合并果子(区间dp)

    Description 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆.  每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果 ...

  9. 洛谷P1090 合并果子

    合并果子 题目链接 这个只能用于结构体中 struct item {int val;friend bool operator < (item a,item b){return a.val > ...

  10. 洛谷——P1090 合并果子

    题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可 ...

最新文章

  1. 有奖活动:写书评赢O'Reilly Velocity大会门票
  2. AdventureWorksBI.msi 和 AdventureWorksDB.msi 的官方下载地址及安装方法
  3. 菜菜sklearn——XGBoost(3)
  4. 数据采集中的采样率、缓冲区大小以及,每通道采样数之间的关系
  5. 【Java】模拟分组交换网络的时延、丢包
  6. python 爬虫 scrapy1_官网教程
  7. 你不知道的CSS3圆角
  8. 软件测试方法和技术_软件测试学习怎么入门?附真实学习方法
  9. oracle数据库top用法,Oracle TOP SQLHIT
  10. Apache启用GZIP压缩网页传输方法
  11. 西工大疫情期间关于如何做好博士学位论文专题讲座笔记
  12. 三维空间坐标的旋转算法详解_任意旋转角三维空间直角坐标转换的迭代算法
  13. Github系列教程一 ————开门
  14. ODI 问题集锦 - Return Code 1722 invalid number
  15. 《2021/07/24》1 -- linux -- 网络名称空间和网桥的基本操作
  16. 电脑鸿蒙系统怎么连接无线网络,三星笔记本电脑怎么连接无线网wifi
  17. 最强大脑魔方墙模拟程序(工具)
  18. 英文字母的大小写转换
  19. dell灵越笔记本后盖怎么拆_戴尔inspiron15 5547笔记本怎么拆机清灰?
  20. 谷歌开发者工具 Network:Disable cache 和 Preserve log

热门文章

  1. 钣金加工小知识,冲压工艺知多少
  2. 关于java下载文件设置对应的相应头
  3. 相机滤镜软件Nevercenter CameraBag Photo mac中文版特点介绍
  4. 方言种类识别AI挑战赛-官方源码测试
  5. 比尔盖茨给马化腾的一封信
  6. 使用创作助手生成的内容,真心好用!
  7. asp.net core 部署到linux,如何将Asp.net Core站点部署到CentOS
  8. 有哪些好用的seo优化工具吗?2021年网站seo优化工具介绍
  9. Linux编辑器nano用法,debian默认编辑器nano的用法
  10. 舒亦梵:4.28大小非农数据日以渐进,附周一操作建议