首页 > Windows开发 > 详细

bzoj2809: [Apio2012]dispatching

时间:2017-12-16 15:31:29      阅读:217      评论:0      收藏:0      [点我收藏+]

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=1}^{k}C[v_i]\leq M$。

每个节点建一个大根堆,维护薪水值。初始时若自己满足条件就选自己,否则不选。从叶子节点往上推,对于每个节点,将它与它的儿子节点合并。如果当前的选择费用超出了M,就pop出堆里的最大的,一直到不超过M为止,用左偏树维护就行。动态维护当前选择的节点数num和选择费用sum即可。

bzoj2809: [Apio2012]dispatching

原文:http://www.cnblogs.com/sssy/p/8046573.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!