最大疯子树:树形DP优化:二次扫描+换根法(poj3585)

    相信看这篇文的人应该是会一些简单的线性树形dp的吧……

    如果有不会的请先看看树形dp基础吧……比如这道题没有上司的舞会

    其实之所以想写这篇文是因为前段时间被教练骗去叫去参加一场UESTC组织主办的线下赛,叫什么……2018青少年信息学科普活动春季体验营,然后测试的时候第一题我是用的换根法A的,于是决定皮一皮写一写。

    先上题面:

    最大疯子树
    【题目描述】
        给定一棵 n 个结点的树,结点编号为 1~n,i 号结点的权重记为 wi(每个点的权值各不相同)。我们定义一个“疯子树”为:
        1. 是一个联通子图。
        2. 我们将子图内的点按照权重从小到大排序后序列为 b1,b2,…,bm,对于任意的 i(i<m),bi到 bi+1最短路径(不含 bi和 bi+1)上的结点的权值都小于等于 i wb 。
    输出包含结点最多的“疯子树”的结点数。
    【输入格式】
        数据有多组 case,文件以 EOF 结束,每组第一行输入一个 n 表示树的节点数;
        接下来一行包含 n 个整数,第 i 个数表示 i 号结点的权重 wi;接下行 n-1 行,第
        i 行包含 2 个整数 ui, vi,表示 ui和 vi有一条边。
    【输出格式】
        对于每组 case 输出一行,包含一个整数,表示包含结点最多的“疯

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值