标签:简单 输出 矩阵乘法 最优 树链剖分 应用 例题 树形dp 经典
动态\(DP\)主要是解决:在树上或链上\(dp\)后,后期对树上链上的点进行修改,然后询问修改后的答案。
其经典例题:
给\(n\)个点的树,给出每个点的点权,求最大权独立集。中途给出\(m\)个修改,每次修改后输出修改后的最优答案。
我们主要考虑树上,解决这类问题,需要用到三个算法,树形\(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 经典
原文地址:https://www.cnblogs.com/redegg/p/11745872.html