P4719 【模板】“动态 DP”&动态树分治
求解树上最大权独立集,但是需要支持修改。
https://www.luogu.com.cn/problem/solution/P4719
首先我们可以得到一个非常简单的dp式子,然后现在考虑怎么支持修改,首先每一次修改只会影响到当前节点的祖先,然后dp需要支持修改,可以利用矩阵处理。
但是仅仅利用矩阵,需要修改的也有O(n)个矩阵,我们考虑进行轻重链剖分,然后我们维护的状态转移仅仅权值包含轻儿子,然后从重儿子状态转移,这样转移矩阵中就只包含轻儿子的权值。
于是这样每次单点修改只会影响到O(logn)个轻儿子,这样就保证了复杂度。