ARC086C Smuggling Marbles
题意 : 给出一棵
每个点上有
把
上面的石子从树上拿走放入口袋。 把每个点上的石子移到其父亲上。
对于每个点,若其石子数
,则移除该点所有石子(不放入口袋)。
求对于所有
先考虑若给定石子放置方式如何求出口袋中的石子数。
不难发现,只有同深度的石子可能相遇,且对于每个深度最多只有可能收到一枚石子。
于是,可以对每层的节点分别考虑。
记
(若直接维护方案数,则需要更复杂的乘法标记)
边界:
记
最终
可以使用长链剖分维护,复杂度