码迷,mamicode.com
首页 > 其他好文 > 详细

动态DP

时间:2019-10-26 22:34:48      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:简单   输出   矩阵乘法   最优   树链剖分   应用   例题   树形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   经典   

原文地址:https://www.cnblogs.com/redegg/p/11745872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!