100197C
合并果子 每一次取最小的两个合并 答案加上这两个值 因为这是一颗二叉树,我们计算一条路的长度,可以看成从叶子节点逐渐合并,直到根
#include<iostream>
#include<queue>
#include<cstdio>
using namespace std;
typedef long long ll;
priority_queue<ll,vector<ll>,greater<ll> >q;
int n;
inline ll read()
{
ll f=,x=;char c=getchar();
while(c<''||c>''){if(c=='-')f*=-;c=getchar();}
while(c>=''&&c<=''){x*=;x+=c-'';c=getchar();}
return x*f;
}
int main()
{
freopen("huffman.in","r",stdin);
freopen("huffman.out","w",stdout);
n=read();
for(int i=;i<=n;i++){int l=read();q.push(l);}
ll ans=;
while(q.size()>)
{
ll a=q.top();q.pop();
ll b=q.top();q.pop();
ll x=a+b;
ans+=x;q.push(x);
}
cout<<ans<<endl;
fclose(stdin);
fclose(stdout);
return ;
}
100197C的更多相关文章
随机推荐
- 多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用 今早上接到一个电话,自已多年前写的一个ASP.NET网站管理系统,一个公司在用,出了点问题, 第一点是惊奇,5,6年前的东东,手机号码换了 ...
- [转]Asp.net mvc 网站之速度优化 -- 页面缓存
网站速度优化的一般方法 由于网站最重要的用户体验就是速度,特别是对于电子商务网站而言. 一般网站速度优化会涉及到几个方面: 1. 数据库优化 — 查询字段简历索引,使用数据库连接池和持久化,现在还有种 ...
- STL标准库面试常考知识点
C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作.vecto ...
- 01传智_jbpm与OA项目_整体项目架构
oA项目: 项目结构如下:
- 链路层的简介和MTU
链路层杂谈(凭个人理解瞎说的,欢迎拍砖) 链路层,说白了就是把网络层的IP数据处理一下,加点东西,放到物理层上去. 加的东西:源.目的地址和CRC校验值,有的还有类型这个字段,用来区分协议. ...
- matlab取整 四舍五入
Matlab取整函数有: fix, floor, ceil, round.取整函数在编程时有很大用处.一.取整函数1.向零取整(截尾取整)fix-向零取整(Round towards zero):&g ...
- win7下IIS配置以及域名映射方法
win7下IIS配置以及域名映射方法 第一步:打开控制面板,选择程序与功能,如下图: 第二步:双击打开程序与功能面板,如下图: 第三步:打开”打开或关闭windows功能”(红线圈起来的地方),如下图 ...
- 你了解javascript中的function吗?(1)
上一篇文章中 介绍了function在javascirpt作为一等公民所担任的重要责任,在不同 的上下文中它担任着不同的角色,在对象内部它可以是函数,同时又能充当名字空间,不仅如此所有的functio ...
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,LZ今天给各位分享一 ...
- ASP.NET Web API(三):安全验证之使用摘要认证(digest authentication)
在前一篇文章中,主要讨论了使用HTTP基本认证的方法,因为HTTP基本认证的方式决定了它在安全性方面存在很大的问题,所以接下来看看另一种验证的方式:digest authentication,即摘要认 ...