题目信息

题目类型
练习
题目年份
2024
题目题型
编程题
关 键 词
合并果子(fruit)

题目题干

合并果子(fruit)ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【问题描述】ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
堆。多多决定把所有的果子合成一堆。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
可以看出,所有的果子经过 n-1 次合并之后,就只剩下一堆了。多多在合并果子时总共消耗ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
的体力等于每次合并所耗体力之和。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
定每个果子重量都为 1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
例如有 3 种果子,数目依次为 1,2,9。可以先将 1、2 堆合并,新堆数目为 3,耗费ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
体力为 3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为 12,耗费体力为 12。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
所以多多总共耗费体力=3+12=15。可以证明 15 为最小的体力耗费值。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【输入文件】ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入文件fruit.in包括两行,第一行是一个整数n(1 <= n <= 30000),表示果子的种ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
类数。第二行包含n个整数,用空格分隔,第i个整数a i (1 <= a i <= 20000)是第i种果子的ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
数目。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【输出文件】ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出文件fruit.out包括一行,这一行只包含一个整数,也就是最小的体力耗费值。输ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
入数据保证这个值小于 2ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
31 。ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例 1 输入】ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
3ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1 2 9ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例 1 输出】ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
15ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例 2 输入】ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
10ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
3 5 1 7 6 4 2 5 4 1ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例 2 输出】ad3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
120

答案解析

相关题目

最小函数值(minval) 【问题描述】 有 n 个函数,分别为 F1,F2,...,Fn。定义 Fi(x)=Ai*x^2+Bi*x+Ci(x∈N*)。给定这些 Ai、Bi 和 Ci,请求出所有函数的
合并果子(fruit) 【问题描述】 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的 堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的
对称二叉树(tree_c) 【问题描述】 如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二 叉树是对称的。编程判断给定的二叉树是否对称. ​​​​​​​ 例:如下图中的二叉树
查找二叉树(tree_a) 【问题描述】 已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为 x 的结点,并指出是第几个 结点。例:如图二叉树的数据文件的数据格式如下 第一行 n 为二叉树的结点
二叉树输出(btout) 【问题描述】 树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个 结点的长度要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为 1,一
FBI 树(fbi) 【问题描述】 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为 B 串,全“1”串 称为 I 串,既含“0”又含“1”的串则称为 F 串。 FBI树是一种二叉树 1
二叉树遍历(flist) 【问题描述】 树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种 遍历的序列就可以确定一棵二叉树的结构。 假定一棵二叉树一个结点用一个字符描述,现在
小球(drop) 【问题描述】 许多的小球一个一个的从一棵满二叉树上掉下来组成 FBT(Full Binary Tree,满二叉 树),每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降
扩展二叉树【题目描述】 由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用·补齐,如图所示。我们把这样处理后的二叉树称为原二叉树的扩展二叉树,扩展二
求后序遍历【题目描述】 输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。 【输入】 共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢