正题


题目大意

从(n,1)(n,1)(n,1)到(1,1)(1,1)(1,1),一个数组AAA,满足Ai≥Ai+1A_i\geq A_i+1Ai​≥Ai​+1
每次有两个选择走到(x−1,y+1)(x-1,y+1)(x−1,y+1),或(x,⌊y/2⌋)(x,\lfloor y/2\rfloor)(x,⌊y/2⌋)。后者需要消耗∑i=xnAi\sum_{i=x}^nA_i∑i=xn​Ai​的代价
求最小代价


解题思路

先预处理好Bx=∑i=xnAiB_x=\sum_{i=x}^nA_iBx​=∑i=xn​Ai​
很容易推出动态转移方程
fi,j=min{fi−1,j+1,fi,j∗2+Bi}f_{i,j}=min\{f_{i-1,j+1},f_{i,j*2}+B_i\}fi,j​=min{fi−1,j+1​,fi,j∗2​+Bi​}
然后我们发现首先AiA_iAi​是有序的,而BiB_iBi​的性质
设fi,jf_{i,j}fi,j​表示放入了前iii个叶子节点,有jjj个空位的哈夫曼树权值。
然后每次可以加入一个叶子节点在该层,且以后合并代价增加AiA_iAi​
也可以将两个合并到新一层,空位多一些。
然后就愉快的发现这个的动态转移和之前的一样,其实就是哈夫曼树。
然后每次肯定是优先选择权值最小的合并,就是合并果子原题。


codecodecode

#include<cstdio>
#define ll long long
using namespace std;
ll a[100010],num,x,n;
long long s,u;
void up(ll x)
{ll t;while (x>1 && a[x]<a[x/2]){t=a[x];a[x]=a[x/2];a[x/2]=t;x/=2;}
}
void down(ll x)
{ll t,y;while (x*2<=num && a[x]>a[x*2] || x*2+1<=num && a[x]>a[x*2+1]){y=x*2;if (x*2+1<=num && a[x*2]>a[x*2+1]) y++;t=a[x];a[x]=a[y];a[y]=t;x=y;}
}
void insert(ll x)
{a[++num]=x;up(num);}
int main()
{int t;scanf("%lld",&t);while(t--){s=0;scanf("%lld",&n);num=0;for (ll i=1;i<=n;i++){scanf("%lld",&x);insert(x);}         while (num>1){u=a[1];a[1]=a[num];num--;down(1);u+=a[1];a[1]=a[num];num--;down(1);s+=u;num++;a[num]=u;up(num);}printf("%lld\n",s);}
}

jozj4010-我才不是萝莉控呢【哈夫曼树】相关推荐

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

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

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

    题意 50分 转换 正解 后记 题意 有一个(小SB)人要从(n,1)走到(1,1),每次他有两种走法: ①(x−1,y+1)①(x-1,y+1)无损耗 ②⌊(x,(y+1)/2)⌋②⌊(x,(y+1 ...

  3. [哈夫曼树] Jzoj P4210 我才不是萝莉控呢

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

  4. [哈夫曼树][堆]JZOJ 4210 我才不是萝莉控呢qaq

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

  5. 【哈夫曼树】JZOJ_4210 我才不是萝莉控呢

    题意 现在,有一个n∗nn * nn∗n的网格图,左下角坐标是(1,1)(1, 1)(1,1),右上角坐标是(n,n)(n, n)(n,n).有一个小SBSBSB正在坐标为(n,1)(n, 1)(n, ...

  6. Jzoj4210 我才不是萝莉控呢

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

  7. 【JZOJ】4210 我才不是萝莉控呢!

    题目名我已经无力吐槽. Description A:你是萝莉控吗? B:.....我给你道题目吧! 有一个长度为nn的正整数数组AA,满足Ai>=Ai+1A_i >= A_{i+1},现在 ...

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

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

  9. jzoj4210. 我才不是萝莉控呢(B组——Day4)

    jzoj4210. 我才不是萝莉控呢(B组--Day4) 题目 Description 小Y:"小R 你是萝莉控吗."小R:"-" 为了避免这个尴尬的话题,小R ...

最新文章

  1. 十亿级流量下,我与Redis时延小突刺的战斗史
  2. python手机版安卓-手机随时随地写Python,还可以开发安卓APP,太厉害了!
  3. 【Bit-Z新起点,坚守与突破】
  4. 用python读取文档_python读取word文档
  5. 02、如何进行网站性能优化或怎么加快页面的加载速度
  6. 机器学习分类_机器学习之简单分类模型
  7. ubuntu14+vmwear联网
  8. PAT甲级1058(进制转换的“/” ,“%”干货!)
  9. python中的字典和类的区别_Python中的 字典和字典数据类型
  10. 【Robot Framework】字符串判断,if语句多执行条件,多执行语句
  11. 一些iptables的具体应用
  12. 凸优化第五章对偶 5.2Lagrange对偶问题
  13. Mac好用的图片压缩软件——JPG Compress 2 for Mac
  14. 电容或电感的电压_纯电阻、纯电感和纯电容电路
  15. 知识蒸馏论文翻译(9)—— Multi-level Knowledge Distillation via Knowledge Alignment and Correlation
  16. Lisp-Stat翻译 —— 第十章 一些动态绘图实例
  17. 小白友好——C++基于EeayX简单开发的豪华版贪吃蛇[单人模式+双蛇对战+闯关模式(地图跳转)+排行榜+音乐]
  18. OPEX推出新一代货到人仓库自动化技术——Infinity ASRS
  19. 嗖嗖~您有一份上云计划待查收
  20. Canvas 图片平铺设置

热门文章

  1. 化妆definer是什么意思_化妆品上的r是什么意思
  2. 成绩排序 九度教程c语言,九度OJ 1089 数字反转
  3. java 反射 本类,关于Java反射中基本类型的class有关问题
  4. 凝思系统改时间_国产操作系统往事:四十年激变,终再起风云
  5. sae 本地环境 mysql数据库_SAE本地环境与真实环境的差别
  6. webpack实战之手写一个loader和plugin
  7. 数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型的概念
  8. [蓝桥杯2017决赛]数位和-模拟(水题)
  9. 埃氏筛法(素数筛选)
  10. 前缀和优化+计蒜客 泡咖啡