Codeforces 633 F The Chocolate Spree(树形dp,两条不相交链节点权值和最大)

题目链接:
Codeforces 633 F The Chocolate Spree
题意:
给一个 n 个节点的树和 n1 条边,每个点有一个权值,从树中选择两条不相交的链(无公共节点)使得两条链上节点权值和最大?
数据范围: n105,value[i]109
分析:
参考博客:逍遥丶綦
dfs 处理出每个节点向其子树最多可以得到的链的最大权值和 down[v] (必须由 v 节点向下)和在子树中最长链的权值 best[v] (可以由一棵子树从下往上经过 v 节点然后转向另一棵子树,也可以是某棵子树的内部的最长链)。
然后借助队列遍历每个 u 和其儿子 v “截断”这条边(以这条边为分界线),求的两棵树的内部最长链。这时就相当于把 v 节点和 u 以及 u 的其余儿子节点都分开了。我们先求 u u

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值