树形 dp个人 总结和感想:
做树形 dp 题目时,第一件要做的事就是分析这颗树的特点,(双向 or 单向),然后联系题目,去分析这棵树
树形 dp 的分析离不开子树(很重要的部分),父节点,子节点,兄弟节点甚至于是父节点的父节点,子节点的子节点, 节点与节点间的关系, 节点与子树的关系, 节点与边的关系, 树与树的关系,边与边的关系我们要将与我们所求的有联系的一一分析.
dp 的状态建立的时候,一定不要忽略一点就是树形 dp 的特点,树形 dp 通过 dfs 实现,所以在建立状态的时候我们要将子树利用起来通过子树的状态来更新我们需要的状态
树形 dp 有时候有些结论需要我们自己去证明,比如一颗最小生成树改变一条边的值,这颗最小生成树分成两部分,新的最小生成树是连接这两颗树的最短边。
在这几天做树形 dp 的题目时,还发现树形dp 的题目,很多时候我们不能直接求得值,
有时候我们要保存两个或者多个与之有关的相同类型的值,比如(最大值,次大),可能看起来麻烦,但是如果静下心来好好分析,发现也不过如此
做树形 dp 的题目时,一定不要仅仅局限与点,边,什么子树,兄弟节点,都要去分析分析,稍微有点难度的树形 dp,不会那么简单就可以分析出状态,需要我们大胆去分析所有与它有联系的东东,去尝试验证我们一些认为那些柑橘有点道理的结论