Day 5

树形DP

树形DP是什么,就是在树上跑DP
树形DP就不像背包那么僵硬

之前背包弄懂题意,理解透彻,套模板后就差不多了,但是树形DP可不这样

如果说背包是人,那么树形DP就是狗

呸呸呸,不是这样的,如果说背包是 X I A N G ,那么树形DP就是 X I A N G 中豪杰

呃——————!!!

其实差不多的,我第一个比喻着重放在

灵敏度

而不是

种类等级

谢谢~~



树形DP入门

给定一颗有N个节点的树(一般是无根树,就有N-1条无向边),可以任选一个节点作为根节点

一般以 节点从深到浅 子树从小到大 的顺序作为dp阶段顺序

dp的状态表示中,第一维通常是节点编号(节点编号代表了以该节点为根的子树)

对于每个节点x,先递归在它的每个子节点上进行dp,回溯时,从子节点向x进行状态转移


比赛

  • A题:
    典型树形DP,但是有3个状态:
    1、自己选。2、不选。然后不选又有两个状态,分为爸爸覆盖和儿子覆盖。

    贪心就DFS序倒着跑一边,然后判断。

    P.S.注意贪心要倒着来!!!如果不倒着来,就要判断他儿子的状态,那就是DP啦!!!

  • B题:
    B就有点难度啦!两种解法:

    大佬解法并查集,3种,全段0,全段1,前段0后段1。

    然后是树形DP解法,二次换根来做

  • C题:
    树型DP+背包问题

    f[ i ] j 表示以 i 为根结点有 j 个结点子树的最大权值


END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值