uva10954
来源:互联网 发布:java 泛型类 静态方法 编辑:程序博客网 时间:2024/05/22 13:50
题意: 新定义一种运算。每次运算都会产生一种cost。让总的cost最小。简单贪心。
使用优先队列轻松解决。
运算时两个数相加后产生的数会被再次使用。同时这个数还要加入到cost里面‘
//
// uva10954.cpp
// greedy
//
// Created by ni ni on 15/4/26.
// Copyright (c) 2015年 ni ni. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
struct cmp
{
bool operator () (int a,int b)
{
return a>b;
}
};
int main()
{
int a[100005],n;
while(~scanf("%d",&n) && n!=0){
priority_queue<int,vector<int>,cmp> que;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
que.push(a[i]);
}
long long sum=0;
while(que.size()>1){
int a,b,c=0;
a=que.top();
c+=a;
que.pop();
b=que.top();
que.pop();
c+=b;
sum+=c;
que.push(c);
}
while(!que.empty()){
que.pop();
}
printf("%lld\n",sum);
}
return 0;
}
- uva10954
- UVa10954
- UVA10954
- UVA10954
- uva10954
- uva10954
- uva10954
- UVA10954
- uva10954 - Add All
- uva10954 Add All
- uva10954 - Add All
- UVA10954 哈夫曼编码
- uva10954 - Add All(multiset函数)
- UVA10954 Add All (优先队列)
- UVA10954哈夫曼树与优先队列
- Uva10954——Add All
- UVA10954 :Add All(全部相加)
- [贪心&&优先队列]uva10954 Add All
- mybatis执行批量更新batch update 的方法(oracle,mysql)
- java垃圾回收机制
- HDU 1114 Piggy-Bank
- 循环链表--主要操作
- printk消息打印级别
- uva10954
- 【bestcoder #37】ABC题解
- [python][爬虫]暴漫gif下载
- 黑马程序员—【Java基础篇】之String类与包装类
- Adobe Dreamweaver CS6简体中文版在64位Win7上的安装与破解
- Mysql 表空间概念
- win8开机默认账户以及无密码登陆
- Java Web应用程序开发_HTTP协议
- #ifdef,#else,#endif,#if用法详解