P4719 【模板】“动态 DP“&动态树分治(矩阵/轻重链剖分/ddp)

P4719 【模板】“动态 DP”&动态树分治

求解树上最大权独立集,但是需要支持修改。
https://www.luogu.com.cn/problem/solution/P4719

首先我们可以得到一个非常简单的dp式子,然后现在考虑怎么支持修改,首先每一次修改只会影响到当前节点的祖先,然后dp需要支持修改,可以利用矩阵处理。

但是仅仅利用矩阵,需要修改的也有O(n)个矩阵,我们考虑进行轻重链剖分,然后我们维护的状态转移仅仅权值包含轻儿子,然后从重儿子状态转移,这样转移矩阵中就只包含轻儿子的权值。

于是这样每次单点修改只会影响到O(logn)个轻儿子,这样就保证了复杂度。

posted @ 2021-01-22 22:32  dinlon  阅读(86)  评论(0)    收藏  举报