Luogu6847 [CEOI2019] Magic Tree

题意:给出一棵 个节点的树,以 为根。

树上有若干个果实,第 个果实位于节点 ,且会在第 天成熟,若收获可以获得 单位的果汁。保证每个节点上最多只有一个果实。

收获的方式是断掉树上的一条边 ,其中 的父亲。此举会收获所有 子树内恰好在当天成熟的果子。

在这之后,断开的整颗子树都会被丢弃。

求最多可以获得多少单位果汁。

,时限


考虑 ,设 表示在第 天断开 与父亲之间的边,子树 能获得的最大收益。

合并子树 时,有转移:

最后令

改记 ,注意在前面的转移中 一直保持单调。

合并子树 时,有转移:

最终对 的单点加则变为对 的后缀

不难用线段树合并维护,需要 两种标记。时空复杂度均为