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)

相关推荐

  • abab的词语,abab的形容词语有哪些

    技术abab的词语,abab的形容词语有哪些ABAB没有成语,词语有不少,列举如下abab的词语: 努力努力 享受享受 了解了解 打探打探 打听打听 分析分析 娱乐娱乐 紧张紧张 暖和暖和 凉快凉快 学习学习 精神精神

    生活 2021年10月25日
  • C# 和 Python 的 hash_md5加密方法是什么

    技术C# 和 Python 的 hash_md5加密方法是什么这篇文章给大家介绍C# 和 Python 的 hash_md5加密方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、C# 和

    攻略 2021年11月9日
  • Go语言核心36讲,Go语言实战与应用九)--学习笔记

    技术Go语言核心36讲,Go语言实战与应用九)--学习笔记 Go语言核心36讲(Go语言实战与应用九)--学习笔记31 | sync.WaitGroup和sync.Once
    我们在前几次讲的互斥锁、条件

    礼包 2021年11月22日
  • 分析Nodejs的Stream模块

    技术分析Nodejs的Stream模块这篇文章主要讲解了“分析Nodejs的Stream模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Nodejs的Stream模

    攻略 2021年11月6日
  • beaglebone AI环境搭建与运行是怎样的

    技术beaglebone AI环境搭建与运行是怎样的beaglebone AI环境搭建与运行是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所

    攻略 2021年12月11日
  • 前端开发之JavaScript优化

    技术前端开发之JavaScript优化 前端开发之JavaScript优化?
    JavaScript的高效优化一直都是我们前端开发中非常重要的工作,也是很多开发人员无法做好的一部分内容,今天我总结了10个

    礼包 2021年11月29日