题意可真的是有毒

第一眼树形背包可做?(反正我没用树形背包打过,边上巨佬打的背包似乎没拿分)

后来发现可以贪心搞,我们先把一个节点所有的儿子都取进去,之后不行的话再从大的开始拿走就好了

问题就变成了了如何快速维护各个节点子树中的最大值,优先队列就好了!

关键是还要资瓷合并,pb_ds库就好了,手打左偏树就好了

有人说这是裸题...但我真的看了好久...肯定是我tcl

 #include<bits/stdc++.h>
#define int long long
#define writeln(x) write(x),puts("")
#define writep(x) write(x),putchar(' ')
using namespace std;
inline int read(){
int ans=,f=;char chr=getchar();
while(!isdigit(chr)){if(chr=='-') f=-;chr=getchar();}
while(isdigit(chr)){ans=(ans<<)+(ans<<)+chr-;chr=getchar();}
return ans*f;
}void write(int x){
if(x<) putchar('-'),x=-x;
if(x>) write(x/);
putchar(x%+'');
}const int M = 2e5+;
int n,m;
int son[M][],fa[M],dis[M],val[M],a[M],b[M],ans;
int head[M],ver[M<<],nxt[M<<],tot,sum[M],sz[M];
#define ls son[x][0]
#define rs son[x][1]
inline void cmax(int &x,int y){if(x<y) x=y;}
inline void add(int x,int y){ver[++tot]=y,nxt[tot]=head[x],head[x]=tot;}
int Merge(int x,int y){
if(!x||!y) return x|y;
if(val[x]<val[y]) swap(x,y);
rs=Merge(rs,y);
if(dis[ls]<dis[rs]) swap(ls,rs);
fa[ls]=fa[rs]=fa[x]=x;
dis[x]=dis[rs]+;
return x;
}
signed main(){
dis[]=-;
n=read(),m=read();
for(register long x,y,i=;i<=n;++i)
fa[i]=i,sz[i]=,x=read(),val[i]=sum[i]=read(),b[i]=read(),add(x,i);
for(register long x=n;x>=;--x){
for(register long i=head[x];i;i=nxt[i]){
int y=ver[i];
fa[x]=fa[y]=Merge(fa[x],fa[y]);
sum[x]+=sum[y];
sz[x]+=sz[y] ;
}while(sum[x]>m){
sum[x]-=val[fa[x]];
--sz[x];
fa[x]=Merge(son[fa[x]][],son[fa[x]][]);
}cmax(ans,b[x]*sz[x]);
}printf("%lld",ans);
return ;
}

【左偏树】[APIO2012]派遣的更多相关文章

  1. [APIO2012]派遣 左偏树

    P1552 [APIO2012]派遣 题面 考虑枚举每个节点作为管理者,计算所获得的满意程度以更新答案.对于每个节点的计算,贪心,维护一个大根堆,每次弹出薪水最大的人.这里注意,一旦一个人被弹出,那么 ...

  2. 洛谷P1552 [APIO2012] 派遣 [左偏树,树形DP]

    题目传送门 忍者 Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 Master以外,每名忍者都 ...

  3. APIO2012 派遣dispatching | 左偏树

    题目链接:戳我 就是尽可能地选取排名小的,加起来就可以了.然后我们考虑利用一个大根堆,一个一个合并,如果超过派遣的钱,我们就把费用最大的那个忍者丢出队列. 左偏树,作为一个十分优秀的可并堆,我们这道题 ...

  4. Luogu P1552 [APIO2012]派遣【左偏树】By cellur925

    题目传送门 $Chat$ 哈哈哈我xj用dfs序乱搞竟然炸出了66分....(其实还是数据水,逃) $Sol$ 首先我们应该知道,一个人他自己的满意度与他子树所有节点的领导力是无关的,一个人的满意度受 ...

  5. 洛谷P1552 [APIO2012]派遣(左偏树)

    传送门 做这题的时候现学了一波左偏树2333(好吧其实是当初打完板子就给忘了) 不难发现肯定是选子树里权值最小的点且选得越多越好 但如果在每一个点维护一个小根堆,我们得一直找知道权值大于m为止,时间会 ...

  6. [洛谷P1552] [APIO2012]派遣(左偏树)

    这道题是我做的左偏树的入门题,奈何还是看了zsy大佬的题解才能过,唉,我太弱了. 左偏树总结 Part 1 理解题目 很显然,通过管理关系的不断连边,最后连出来的肯定是一棵树,那么不难得出,当一个忍者 ...

  7. 【bzoj2809】[Apio2012]dispatching 左偏树

    2016-05-31  15:56:57 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 直观的思想是当领导力确定时,尽量选择薪水少的- ...

  8. bzoj2809 [Apio2012]dispatching(左偏树)

    [Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 M ...

  9. 【BZOJ 2809】2809: [Apio2012]dispatching (左偏树)

    2809: [Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Maste ...

随机推荐

  1. NX二次开发-UFUN写入本地文本文档uc4524

    1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_cfi.h> 5 #include <uf_ui.h> 6 7 us ...

  2. [14]APUE:API for Mysql

    库:/usr/lib64/libmysqlclient.so.#.#... 头文件:/usr/lib64/mysql/mysql.h 一.建立连接 MYSQL *mysql_init(MYSQL *) ...

  3. 20140415 HOG 不同继承方式的访问特性 虚函数工作原理

    1.HOG block重叠的好处 由于行人通常其形状可以视为柔体,人 的边缘位置不固定,而有一些移动,block 重叠后,一个边缘的梯度信息在两个相邻重叠的 block 中都能有所表达,这样即使边缘的 ...

  4. 《数据结构与算法分析——C语言描述》ADT实现(NO.02) : 队列(Queue)

    第三个结构——队列(Queue) 队列与上次的栈相反,是一种先进先出(FIFO)的线性表.写入时只暴露尾部,读取时只暴露头部. 本次只实现了数组形式的队列.原因是链表形式的队列极为简单,只需要实现简单 ...

  5. HTML_表单标签

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. js倒计时在移动端的应用

    在移动端测试倒计时,将时间转化为毫秒会在苹果手机上出现NaN ``` //在安卓上这样写可以获取到的 var date = '2017-06-12 13:12:13'; var time = new ...

  7. 再次封装ajax函数,统一入口

    根据API写网页的时候,每个页面都需要ajax请求,每次都写一大堆请求,配置什么的太麻烦,于是打算封装一个ajax函数,统一调用: 开始时是使用return返回ajax,如下: function cr ...

  8. 网络请求NSLog结果不全

    碰到了两次 NSLog请求结果只有一部分 如果NSLog语句中没有汉语就可以全部输出了,不清楚原因. NSLog(@"%@",object);//这样结果是全的 NSLog(@&q ...

  9. Apache Forbidden 403错误提示

    在配置Linux的 Apache服务时,经常会遇到http403错误,我今天配置测试时也出现了,最后解决了,总结了一下.http 403错误是拒绝访问的意思,有很多原因的.还有,这些问题在win平台的 ...

  10. c_数据结构_图_邻接表

    课程设计------邻接表 图的遍历实现课程设计:https://files.cnblogs.com/files/Vera-y/图的遍历_课程设计.zip #include<stdio.h> ...