• 题意
  • 50分
  • 转换
  • 正解
  • 后记

题意

有一个(小SB)人要从(n,1)走到(1,1),每次他有两种走法:
①(x−1,y+1)①(x-1,y+1)无损耗
②⌊(x,(y+1)/2)⌋②⌊(x,(y+1)/2)⌋代价为Σa[i](i=x...n)Σa[i](i=x...n)

50分

设F[i,j]表示该SB位置为(i,j),然后转移乱搞N2N^2。

转换

先引入一个概念。

哈夫曼树
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
1、路径和路径长度
在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。
2、结点的权及带权路径长度
若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。
3、树的带权路径长度
树的带权路径长度规定为所有叶子结点的带权路径长度之和为WPL。

如果要求一颗最小代价的哈夫曼树,应该怎么求?
设F[i,j]表示当前已经放了前i个节点(从小到大排序),剩余可放节点个数为j。
那么有两种转移:
①F[i+1,j−1]①F[i+1,j-1],表示在剩下可放的节点中选一个来放第(i+1)个,无代价。
②F[i,j∗2]+Σa[i+1 n]②F[i,j*2]+Σa[i+1~n],表示把剩下的j个叶子节点往下再扩展2个节点,原叶节点作废

第二种不太好理解。

圆圈表示已放的节点,三角表示可以放且已作废的叶节点,方块表示二次扩展的叶节点。
如图,一个三角分成了两个方块,所以叶节点个数*2。


回到第一种情况,如果我删掉了灰色三角,即在灰色三角处放了一个数,可以发现后来不会重复计算放过的叶节点(灰方块)。

正解

观察上面的转换过程,可以发现其实就是题目给出的逆操作。
所以题目其实就是求序列为a的哈夫曼树的最小权值。
最小权值=min(每个节点深度(根节点是0)*该节点权值)
所以,为了保证总值最小,要用大数*小数。
每次就用最小的两个数合并,对答案的贡献就是两数之和。
堆维护搞定。

后记

其实这道题就是旧OJ的合并果子高级版。。。

jzoj4210. 【五校联考1day1】我才不是萝莉控呢(哈夫曼树)相关推荐

  1. [jzoj4210] 【五校联考1day1】我才不是萝莉控呢 {哈夫曼树}

    题目 Description 小Y:"小R 你是萝莉控吗."小R:"-" 为了避免这个尴尬的话题,小R 决定给小Y 做一道题. 有一个长度为n 的正整数数组A, ...

  2. 【五校联考1day1】我才不是萝莉控呢

    Description 小Y:"小R 你是萝莉控吗."小R:"-" 为了避免这个尴尬的话题,小R 决定给小Y 做一道题. 有一个长度为n 的正整数数组A,满足A ...

  3. JZOJ 4210. 【五校联考1day1】我才不是萝莉控呢

    .. 题目: 分析: 代码: 题目: 传送门 分析: 我们直接放上合并果子的代码,然后怒切...... 好吧,其实是我找不到证明tatata是哈夫曼树的过程,但题解说是合并果子,所以就^ _ ^ 代码 ...

  4. JZOJ Day4 B组 T3【五校联考1day1】我才不是萝莉控呢

    题目大意: 小YYY:"小RRR 你是萝莉控吗."小RRR:"-" 为了避免这个尴尬的话题,小RRR 决定给小YYY 做一道题. 有一个长度为nnn 的正整数数 ...

  5. jzoj(senior)4208. 【五校联考1day1】线段树什么的最讨厌了

    题目链接 题解:反着搜,从[l,r]区间去拓展到其他四个区间[l,2r-l],l,2r-l+1,[2l-r-2,r]2l-r-1,r,然后dfs这四个区间就好啦! #include<cmath& ...

  6. 湖南长郡2021高考成绩查询时间,2021年湖南新高考六校、长郡十五校联考时间公布...

    2021年湖南新高考六校.长郡十五校联考时间公布 导读:距离2021年高考时间仅剩不到一百天,各个省份都的高三学子都进入紧张阶段.开始了各种模拟考试.2021届湖南省炎德英才大联考的考试时间也已经公布 ...

  7. 4246. 【五校联考6day2】san (Standard IO)

    4246. [五校联考6day2]san (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits D ...

  8. jzoj4230. 【五校联考4day1】淬炼神体(B组——Day3)

    jzoj4230. [五校联考4day1]淬炼神体 题目 Description 王仙女将你提供的答案填在<葵花宝典>上,突然,宝典发出耀眼的白光,一股强大的吸力瞬间将仙女吸入宝典中. 一 ...

  9. 【五校联考2015 9.5】我才不是萝莉控

    题目大意 你在一个n×nn\times n的网格图上,初始站在(1,1)(1, 1)点,要求到达(n,n)(n, n)点. 假如你现在在(x,y)(x, y)点,那么你有两种行走方式. 走到(x+1, ...

最新文章

  1. java中先序创建一棵树,恳求大佬指点!!!首先标明空子树的先根遍历序列建立一棵二叉树...
  2. mysql多重主键错误,老师,jd_spider中数据插入Mysql时一直显示主键错误,求助~
  3. 中文字体练习好看的手写字
  4. python图例位置_Python | 图例位置
  5. 201609-1-最大波动
  6. 我们用transformer干啥?
  7. DB2 9 根本(730 磨练)认证指南,第 3 部门: 谋面 DB2 数据(4)
  8. 晶振封装与频率对照表
  9. java排查full gc_一次full gc的排查经历
  10. 华为U2000网管研究实录 (1) - 安装
  11. 印第安纳大学计算机与信息学院,印第安纳大学伯明顿分校管理信息系统(MIS)专业详解...
  12. Openerp权限设置总结
  13. 工欲善其事,必先利其器-程序员工具推荐
  14. 《林超:给年轻人的跨学科通识课》导图 04:函数模型
  15. 华为S5700交换机配置 不同vlan 间通信---eNSP
  16. 介绍MSYS2 在windows下与使用
  17. FLUENT进行组分反应模拟
  18. Android移动应用开发之制作动画基础
  19. Solidworks快速装配——带配合装配与阵列装配(带例子解释)
  20. 分布式数据库发展历程SequoiaDB 简介

热门文章

  1. NSObject常用方法 和反射
  2. 相对论【3】洛伦兹速度变换和婓索实验
  3. 用 Cloudreve 快速建设基于OSS的个人云盘
  4. 3亿美元!金山云宣布D轮融资 降价布局多垂直领域
  5. “QQ显示iPhone在线”背后的虚荣与焦虑
  6. pandas循环插入行
  7. 为啥app没有menu键?
  8. c2c网站开店的流程图_C2C网店策划书
  9. microsoft exchange server 2007 mrm
  10. 食物链 (POJ-1182)