BZOJ 2809 Apio2012]dispatching 斜堆 可并堆
由题意可知,对于每个子树内用一定费用来雇忍者使得根节点的忍者领导能力*雇佣人数最大。对于每个子树可以用堆来维护费用的大小,每次合并两个子树时,合并两个堆就行了…..所以这里我们需要使用到可并堆。本人码力较低,代码中使用的的是斜堆,个人认为比较好写,只有一个merge操作,加入新节点只要合并即可,删除节点时只需把根节点的左右儿子合并。每次操作时间复杂度均摊O(nlogn)(QAQ并不会证)。#incl
原创
2017-03-06 20:10:58 ·
302 阅读 ·
0 评论