树形dp
文章平均质量分 67
dp
野指针*
这个作者很懒,什么都没留下…
展开
-
CF533B(树形dp+转移技巧)
初始化f(i, 0) = 0, f(i, 1) = -INF,表示当前这棵子树还没选i这个点.对于转移,我自己是这么想的,枚举每个点选奇数还是选偶数,但是会爆时间.我们可以再。f(u, 0) = max(f(u, 0) + f(v, 0), f(u, 1) + f(v, 1)) 偶 + 偶 = 奇 + 奇 = 偶。f(u, 1) = max(f(u, 1) + f(v, 0), f(u, 0) + f(v, 1)) 偶 + 奇 = 奇 + 偶 = 奇。进行转移.假设u -> v。...原创 2022-08-07 14:49:53 · 153 阅读 · 0 评论 -
树形dp(树形背包, 二次扫描和换根法)
树是特殊的无环连通图,有n个节点以及n - 1条边(可以是有向边也可以是无向边).树形dp则是基于树这个数据结构的动态规划问题.树分为有向树和无向树.有向树只要储存每个节点的子节点即可.而无向树则用邻接表的形式进行储存.注意无向树在遍历的时候遍历过的节点(状态)要打上标记,防止重复遍历.在树上设计dp算法时,一般以节点从深到浅(子树从小到大)的顺序作为dp的"阶段".dp的状态表示中,一般第一维是节点编号(表示以该节点为根的子树).我们有两种方式实现动态规划(对应两种遍历树的方式).分别是递原创 2022-04-01 18:15:54 · 668 阅读 · 0 评论