【题目链接】

https://www.lydsy.com/JudgeOnline/problem.php?id=4198

【算法】

不难发现,题目中所说的编码方式就是哈夫曼编码

注意合并时优先合并深度小的

【代码】

#include<bits/stdc++.h>
using namespace std;
#define MAXN 100010 struct info
{
long long w,s;
friend bool operator < (info a,info b)
{
return (a.w != b.w) ? (a.w > b.w) : (a.s > b.s);
}
}; int i;
long long w[MAXN];
info tmp;
priority_queue< info > q;
long long ans1,val,mx,n,k,ans2; int main()
{ scanf("%lld%lld",&n,&k);
for (i = ; i <= n; i++)
{
scanf("%lld",&w[i]);
q.push((info){w[i],});
}
while ((n - ) % (k - ) != )
{
q.push((info){,});
n++;
}
while (q.size() >= k)
{
val = ; mx = ;
for (i = ; i <= k; i++)
{
tmp = q.top();
q.pop();
val += tmp.w;
mx = max(mx,tmp.s);
}
ans1 += val;
ans2 = max(ans2,mx+);
q.push((info){val,mx+});
}
printf("%lld\n%lld\n",ans1,ans2); return ; }

最新文章

  1. Coursera-Getting and Cleaning Data-week1-课程笔记
  2. SpringMVC源码分析系列
  3. 解决Visual Studio 2010/2012的RC4011 warnings
  4. SET ROWCOUNT,SET NOCOUNT
  5. Linux free字段解析
  6. Weak Event Patterns
  7. 使用poi3.9的jar输出excel
  8. 如何在 webApi 当中接收 Gzip 压缩或者加密后的 请求消息内容!
  9. Git详细教程(3)---结合gitHub使用
  10. Tomcat7以上403 Access Denied错误
  11. 面向对象15.2String类-构造函数
  12. 西电2017ACM网络赛
  13. 注解ConfigurationProperties注入yml配置文件中的数据
  14. javascript之location详解
  15. IOC的底层实现
  16. Spring Data Elasticsearch 和 x-pack 用户名/密码验证连接
  17. 【转】java面试题
  18. Java JDBC的基础知识(四)
  19. C++ inline内联函数
  20. Windows版Mycat结合mysql安装配置+水平切分(转载)

热门文章

  1. 170925_2 Python socket 创建UDP的服务器端和客户端
  2. haproxy故障处理
  3. Android控件的继承关系
  4. windows 设置注册表服务自动启动
  5. 解决Mysql Workbench的Error Code: 1175错误
  6. 实现动画之CSS与JavaScript对比
  7. Servlet+JSP(三):第一个Web程序
  8. Linux 系统基础优化和常用命令
  9. generating multiple ordered files in python
  10. 腾讯云,搭建nginx静态网站服务器