题目链接:戳我

首先看出来这是一个哈夫曼树!

然后就按照这里面哈夫曼树那一点说的,就可以A掉这个题啦

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#define MAXN 100010
using namespace std;
int n,k;
long long ans;
long long a[MAXN];
struct Node
{long long h,w;friend bool operator < (struct Node x,struct Node y){if(x.w==y.w) return x.h>y.h;return x.w>y.w;}
};
priority_queue<Node>q;
inline void solve()
{while(q.size()>1){long long cur_ans=0,maxx=0;for(int i=1;i<=k;i++){cur_ans+=q.top().w;maxx=max(maxx,q.top().h);q.pop();}ans+=cur_ans;// printf("cur_ans=%lld maxx=%lld\n",cur_ans,maxx);q.push((Node){maxx+1,cur_ans});// cout<<q.size()<<endl;}
}
int main()
{#ifndef ONLINE_JUDGEfreopen("ce.in","r",stdin);#endifscanf("%d%d",&n,&k);for(int i=1;i<=n;i++) scanf("%lld",&a[i]),q.push((Node){0,a[i]});int cur=1;while(cur<n) cur+=(k-1);for(int i=1;i<=cur-n;i++) q.push((Node){0,0});// printf("cur=%d\n",cur);solve();printf("%lld\n",ans);printf("%lld\n",q.top().h);return 0;
}

转载于:https://www.cnblogs.com/fengxunling/p/10947454.html

NOI2015 荷马史诗相关推荐

  1. [NOI2015]荷马史诗【哈夫曼编码】

    [NOI2015]荷马史诗 推荐一篇题解 (感觉自己讲不清楚所以不如直接粘题解) 观察之后发现这就是哈夫曼编码,于是按照编码方式构造即可. #include <bits/stdc++.h> ...

  2. P2168 [NOI2015] 荷马史诗(哈夫曼编码树)

    传送门 文章目录 题目描述 解析 细节 代码 题目描述 解析 其实就是构造一棵树 另所有带权点都为叶子节点 其代价为权值与深度的乘积 求最小代价及最小代价下的最小深度 可以看成一开始有n棵小树 每次把 ...

  3. 【Huffman树】【贪心】【NOI 2015】【bzoj 4198】荷马史诗

    4198: [Noi2015]荷马史诗 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 127 Solved: 80 Description 追逐影子的 ...

  4. 洛谷P2168 荷马史诗 [NOI2015]

    题目描述 追逐影子的人,自己就是影子 --荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛&g ...

  5. NOI2015 Day2 T1 荷马史诗(洛谷P2168)

    题目描述 追逐影子的人,自己就是影子 --荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛&g ...

  6. [NOI 2015]荷马史诗

    Description 追逐影子的人,自己就是影子. --荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由& ...

  7. 周末狂欢赛4(1-02E. JM的西伯利亚特快专递,寿司晚宴,荷马史诗)

    文章目录 T1:1-02E. JM的西伯利亚特快专递 题目 题解 code T2:寿司晚宴 题目 题解 code T3:荷马史诗 题目 题解 code T1:1-02E. JM的西伯利亚特快专递 题目 ...

  8. ajax荷马史诗,荷马史诗(8)

    <奥德赛>(Odyssey) 奥德修斯的希腊文原意是"麻烦":他既带给别人麻烦,自己也遭遇麻烦 <埃阿斯和卡珊德拉>(Ajax and Cassandra) ...

  9. jzoj 6012.【NOIP2019模拟1.25A组】荷马史诗 dp

    Description 追逐影子的人,自己就是shadow. --荷马 Shadow 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但 ...

最新文章

  1. GEO数据挖掘(2)-GEO数据库
  2. 在JavaScript中实现yield,实用简洁实现方式。
  3. 关于利用IBERT核对GTX收发器板级测试的原理与过程详解
  4. ExtJs学习笔记(21)-使用XTemplate结合WCF显示数据
  5. 备抵附加账户的期末余额_会计账户的分类(二)
  6. 在一起计时器_古典计时器简介之一 qqtimer
  7. day5 JavaEE实战班
  8. Altium AD20原理图页码自动编号,右下角标题栏
  9. 我的开源项目:TS封装格式分析器
  10. data/mysql_error_trace.inc,09-在线挑战详细攻略-《真的很简单》
  11. python中title函数有什么用_基于Python中capitalize()与title()的区别详解
  12. V5-SP6:iocomp-32/iocomp-64-crack-免安装
  13. 路由守卫(全局钩子(全局路由守卫)、路由单独钩子(router独享守卫))
  14. firewall-cmd常用命令
  15. excel怎么输入度分秒,并转换为可编辑文本格式
  16. 基于PGC相位生成载波调制及其解调算法实例分析
  17. HTML+CSS制作的纯静态网页
  18. ESP32产品系列之智能插座(二),ESP32代码部分
  19. srand rand c语言,C语言srand和rand函数
  20. jQuery引起的用layer弹出层上传文件不能获取文件名的解决(thinkphp5)

热门文章

  1. GaiGai----1
  2. 小学生计算机按键分布图,人教版(新版)小学信息三下第2课《常用按键掌握牢》课件.ppt...
  3. 计算机不能直接执行c语言编写的源程序,计算机不能直接执行用C语言编写的源程序。...
  4. class action extends mysql{_java Action 请求封装(二)
  5. 导出mysql数据库表结构文档
  6. npm安装任何包都报错的解决办法
  7. Vue中判断对象属性是否存在
  8. java中 Double和double区别
  9. 删除 java代码中所有的注释
  10. jq中html(),text(),val()以及js中innerHTML,innerText和value