树型动态规划基础

树型动态规划的题目一般是:给出你一棵树,每个点或者每条边上有对应的权值,并给出一定的限制条件,求取哪些点使得权值最大或最小。 例如说,规定相邻的两个结点不能同时取,如何取才能取到最大值? 我们发现,整个问题可以分解成若干个子问题,即通过求子树的最优值,从而推出整棵树的最优值。 那么,可以采用递归的方式,从根节点开始遍历完所有子树,对于每个结点,有取与不取两种状态。 设dp[i][0]为不取i结点时
相关文章
相关标签/搜索