CF966E

题意

给定一棵树,点有黑/白颜色,每个点给定一个(w_i),若某白点(i)子树超过了(w_i)个黑点,则白点会被标记。(m)次修改点颜色,每次回答有多少被标记的点

做法

对操作分块
对块内修改节点建虚树,则每次修改一个点,影响的是该点至根路径
将虚树上同一条边代表的原树上的节点一起处理

(O(nsqrt n))

原文地址:https://www.cnblogs.com/Grice/p/12996817.html