[总结] 动态DP学习笔记

 学习了一下动态DP

问题的来源:
给定一棵 n 个节点的树,点有点权,有 m 次修改单点点权的操作,回答每次操作之后的最大带权独立集大小。

首先一个显然的 O(nm) 的做法就是每次做一遍树形DP(这也是我在noip考场上唯一拿到的部分分),直接考虑如何优化这个东西。

简化一下问题,假如这棵树是一条链,那就变得很简单了,可以直接拿线段树维护矩阵加速。

可是如果每个点不止有一个儿子呢?
我们首先树剖一下。
设 g[i][0]=jlightsonmax(f[j][0],f[j][1])
g[i][1]=a[i]+jlightsonf[j][0]
即 g[i]

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信