动态DP

Posted redegg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态DP相关的知识,希望对你有一定的参考价值。

应用

动态(DP)主要是解决:在树上或链上(dp)后,后期对树上链上的点进行修改,然后询问修改后的答案。

其经典例题:

(n)个点的树,给出每个点的点权,求最大权独立集。中途给出(m)个修改,每次修改后输出修改后的最优答案。

解决

我们主要考虑树上,解决这类问题,需要用到三个算法,树形(dp),树链剖分,矩阵乘法。

树形(dp)

我们先简单考虑不进行修改,那么这是一道非常简单的树形(dp)题,设(f[x][1])为此点必选,(f[x][0])为此点必不选的最大权值。

转移是,设(v)(x)子节点,(f[x][1]=sum f[v][0] +a[x])(f[x][0]=sum max(f[v][0],f[v][1]))

以上是关于动态DP的主要内容,如果未能解决你的问题,请参考以下文章

动态规划——线性DP.1

多段图动态规划dp

动态规划

动态dp和dp套dp

[动态dp]线段树维护转移矩阵

DP 动态规划初识