CF966E

题意

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

做法

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

\(O(n\sqrt n)\)

posted @ 2020-05-31 11:22  Grice  阅读(119)  评论(0编辑  收藏  举报