P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

技术P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fe

p 1090【noip 2004改良组】联合果/【usaco 06 nov】栅栏修复G

题目描述

在一个果园里,多多把所有的水果都击倒了,并根据不同的水果种类把它们分成不同的堆。多多决定把所有的水果组合成一堆。

每次合并,多多可以将两堆水果合并在一起,消耗的体力等于两堆水果的重量之和。可以看出所有的水果都经过n-1n?一次合并后,只剩下一堆了。合并果实消耗的总体力等于每次合并消耗的体力之和。

因为要花大力气把这些水果搬回家,所以在合并水果的时候要尽量节约能源。假设每个水果的重量为11,水果的种类数和每种水果的数量都是已知的,那么你的任务就是设计一个组合序列方案,使更多的水果消耗的体力最小,并输出这个最小体力消耗值。

比如水果有33种,依次是11种、22种、99种。首先,11堆和22堆可以合并。新桩数33根,能耗33。然后将新桩与原第三桩合并,得到新桩,编号为1212,体力为1212。所以需要很大的体力=3 12=15=3 12=15。可以证明1515是最小物理消耗值。

输入格式

总共两排。

第一行是整数n(1n10000),表示水果的种类数。

第二行包含由空格分隔的n个整数,第I个整数ai?(1ai?20000)是第I个水果的数量。

输出格式

整数,即最小体力消耗值。输入数据以确保该值小于2 {31}。

输入输出样例

输入#1副本。

1 2 9

输出#1副本

15

说明/提示

对于30%的数据,确保n1000:

对于50%的数据,确保n5000;

对于所有数据,确保n10000。

分析

从观察可以看出,合并得越早,计算的次数越多,所以贪心策略是先合并小堆。

#includebits/stdc。h

使用命名空间标准;

int n;

priority_queueint,vectorint,greater int a;

int ans

int main()

{

cinn

for(int I=1;I=n;(一)

{

int p;

cinp

a . push(p);

}

而(a . size)(1)

{

int j=a . top();

a . pop();

int k=a . top();

a . pop();

ans=(j k);

a . push(j . k);

}

coutansendl

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/100410.html

(0)

相关推荐

  • docker使用常用命令(docker常用的15个命令)

    技术Docker的常用命令是什么这篇文章主要介绍“Docker的常用命令是什么”,在日常操作中,相信很多人在Docker的常用命令是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Doc

    攻略 2021年12月13日
  • 如何实现element穿梭框性能优化

    技术如何实现element穿梭框性能优化这篇文章主要讲解了“如何实现element穿梭框性能优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现element穿梭框

    攻略 2021年10月26日
  • python二叉树详解(python 二叉树的最大深度)

    技术python二叉树的深度该如何理解今天就跟大家聊聊有关python二叉树的深度该如何理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。序主要记录一下二叉树的深

    攻略 2021年12月13日
  • 第一条铁路,中国第一条铁路建设几年

    技术第一条铁路,中国第一条铁路建设几年中国第一条小铁路——1865年,英国商人杜兰德在北京宣武门外沿着护城河修建了一条一里长“展览铁路”德小铁路,这是中国出现最早的一条铁路第一条铁路。不久,清统治者以:“观者骇怪”为由,

    生活 2021年10月19日
  • C#无词尾符号的示例分析

    技术C#无词尾符号的示例分析这篇文章将为大家详细讲解有关C#无词尾符号的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C#的文法符号一个C#程序由一个或多个源文件组成。一个源文

    攻略 2021年12月1日
  • 万事胜意什么意思,一如既往,万事胜意什么意思

    技术万事胜意什么意思,一如既往,万事胜意什么意思一如既往,万事胜意的意思:和从前一样,所有的事情都能有好的发展方向。一切都比自己所期待的,还要好一点点,一点点就够了。出自《你好,旧时光》。《你好,旧时光》主要讲述了主人公

    生活 2021年10月24日