题意
给定一棵树,点有黑/白颜色,每个点给定一个(w_i),若某白点(i)子树超过了(w_i)个黑点,则白点会被标记。(m)次修改点颜色,每次回答有多少被标记的点
做法
对操作分块
对块内修改节点建虚树,则每次修改一个点,影响的是该点至根路径
将虚树上同一条边代表的原树上的节点一起处理
(O(nsqrt n))
给定一棵树,点有黑/白颜色,每个点给定一个(w_i),若某白点(i)子树超过了(w_i)个黑点,则白点会被标记。(m)次修改点颜色,每次回答有多少被标记的点
对操作分块
对块内修改节点建虚树,则每次修改一个点,影响的是该点至根路径
将虚树上同一条边代表的原树上的节点一起处理
(O(nsqrt n))