这题老号用左偏树写过。 然后现在用了主席树,感觉理解加深了很多。 首先就是dfs序搞出每个节点管理的区间,然后暴力枚举每一个管理者,然后在区间里找最多能够支付多少人。 值得注意的是当前位置的值应该是排序后的数组的值而非原来当前位置的值,调了一中午。。 主席树: 左偏树: ...
P1552 "APIO2012]派遣[https://www.luogu.org/problemnew/show/P1552" 题目背景 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。 题目描述 在这个帮派里,有一名忍者被称之为$Master$。除了$Master$以外 ...
给n<=100000的树,每个点有权值和代价,有m<=1e9的容量,问:一个点权值*子树内代价总和不超过容量的最大点数的最大值。 其实就是要合并。平衡树、线段树、可并堆挑一个。 可并堆由于没法二分,故“正难取反”,维护最大的,在不够装时弹掉。 1 #include<string.h> 2 #incl ...
2809: [Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工 ...
分类:
其他好文 时间:
2017-12-26 20:58:28
阅读次数:
204
http://www.lydsy.com/JudgeOnline/problem.php?id=2809 领导关系形成一棵树,那么答案为$ans=max{L[u]\times k}$,其中k代表以u为根的子树中选出的节点数个数(设这些节点为$v_1,v_2\cdots v_k$且有$\sum_{i= ...
左偏树。 每个子节点维护大根堆,遍历一个儿子就往自己合并,合并发现钱不够了就删除队顶。 //Achen #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #inclu ...
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ2809 题意概括 n个点组成一棵树,每个点都有一个领导力和费用,可以让一个点当领导,然后在这个点的子树中选择一些费用之和不超过m的点,得到领导的领导力乘选择的点的个数(领导可不被选择)的利润。求利润最 ...
Background 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。 Description 在这个帮派里,有一名忍者被称之为Master。除了Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接 ...
[Apio2012]dispatching 题目 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他 ...
题目背景 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。 题目描述 在这个帮派里,有一名忍者被称之为Master。除了Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方 ...