Links there:HEOI2015 兔子与樱花
题意
给出一个有根树,每个节点有一个权值(樱花个数) $c_i$ ,给出定值 $m$ ,定义删除节点操作.
当一个节点被去掉之后,这个节点上的樱花和它的儿子节点都被连到删掉节点的父节点上.如果父节点也被删除,那么就会继续向上连接,直到第一个没有被删除的节点为止。
对于每一个节点 $i$ ,它的儿子节点的个数和 $i$ 节点上樱花个数之和不能超过 $m$ ,$son_i + c_i \leq m$.
求最多删去节点的个数.
思路
(感觉整天傻逼题写半天好颓废啊)
可以把树上每个点的权值看为$c_i + son_i$
每次先统计子树信息,对子树贪心从权值小的开始选并删除,直到无法使得$son_i + c_i \leq m$为止.
Code
1 | //my vegetable has exploded. :( |