当前位置: 首页 > news >正文

题解:洛谷 P1090 [NOIP 2004 提高组] 合并果子

【题目来源】

洛谷:P1090 [NOIP 2004 提高组] 合并果子 - 洛谷 (luogu.com.cn)

【题目描述】

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

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

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

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

【输入】

共两行。 第一行是一个整数 \(n(1\le n\le 10000)\) ,表示果子的种类数。

第二行包含 \(n\) 个整数,用空格分隔,第 \(i\) 个整数 \(a_i(1\le a_i\le 20000)\) 是第 \(i\) 种果子的数目。

【输出】

一个整数,也就是最小的体力耗费值。输入数据保证这个值小于 \(2^{31}\)

【输入样例】

3 
1 2 9 

【输出样例】

15

【解题思路】

image

【算法标签】

《洛谷 P1090 合并果子》 #贪心# #堆# #优先队列# #USACO# #NOIP提高组# #2004# #2006#

【代码详解】

#include <bits/stdc++.h>
using namespace std;
int n, ans=0;
int a[10005] ={0};
int main()
{cin >> n;  // 输入nfor (int i=0; i<n; i++)   // 输入n堆果子的重量cin >> a[i];  sort(a, a+n);  // 按照从小到大方式排序for (int i=1; i<n; i++)   // 遍历n堆果子{ans += a[i-1] + a[i];  // 统计两堆之和a[i] = a[i-1] + a[i];  // 将两堆之和赋值给当前堆for (int j=i+1; j<n; j++)   // 将当前苹果堆插入到后面的苹果中,按照重量小的排前面的方式if (a[j-1] > a[j]) swap(a[j-1], a[j]);}cout << ans << endl;  // 输出总重量return 0;
}

【运行结果】

3 
1 2 9
15
http://www.jsqmd.com/news/389976/

相关文章:

  • ABC445G Knight Placement 题解
  • 题解:洛谷 P1478 陶陶摘苹果(升级版)
  • 题解:洛谷 P1106 删数问题
  • 题解:洛谷 P3817 小A的糖果
  • 题解:洛谷 P1803 凌乱的yyy / 线段覆盖
  • Spark大数据处理:技术、应用与性能优化【2.7】
  • Android Studio 中 Activity 的五种启动模式
  • 微信小程序查看备案号
  • 题解:洛谷 P1223 排队接水
  • 2026年市场上可靠的下水道疏通企业有哪些,下水道疏通排行榜行业优质排行榜亮相 - 品牌推荐师
  • Spark大数据处理:技术、应用与性能优化【2.6】
  • 前端必备:NVM管理Node版本不翻车,新手老手都能用
  • 题解:洛谷 P2240 【深基12.例1】部分背包问题
  • 写作压力小了,AI论文工具千笔 VS 万方智搜AI,研究生专属高效之选!
  • OpenClaw,重新定义AI Agent,一款真正可用的个人智能助手操作系统
  • ▲8FSK调制解调+扩频解扩通信链路matlab误码率仿真
  • 题解:洛谷 P1010 [NOIP 1998 普及组] 幂次方
  • 题解:洛谷 P1259 黑白棋子的移动
  • 完整教程:CI/CD 核心原则 + 制品管理全解析:落地要求 + 存储方案
  • 题解:洛谷 P3612 [USACO17JAN] Secret Cow Code S
  • 题解:洛谷 P1498 南蛮图腾
  • 题解:洛谷 P1228 地毯填补问题
  • 探索CNN - BILSTM - Attention多特征分类预测:Matlab实现与分析
  • 实测才敢推!更贴合研究生需求的降AIGC软件 千笔·专业降AI率智能体 VS 灵感风暴AI
  • 真的太省时间! 降AIGC工具 千笔·专业降AI率智能体 VS 学术猹 本科生专属
  • 题解:洛谷 P1990 覆盖墙壁
  • 写作小白救星:AI论文工具 千笔AI VS Checkjie,专科生专属神器!
  • 生产环境【Kotlin系列15】多平台开发实战:一次编写,多端运行最佳实践与性能优化
  • 关闭Edge浏览器的“两指在触控板上往左滑是后退;往右划是前进”
  • 【日语学习-日语知识点小记-日本語体系構造-JLPT-N2前期阶段-第一阶段(13):単語文法】