‹ 上一题 下一题 ›

07673. 树的最大独立集 未做

1000 ms 256 MB 测试点 10 通过率 100% 7级·树与二分图自拟题树形DP最大权独立集阶梯·进阶

题目描述

给定一棵有 个结点的树,结点编号为 到 ,其中第 个结点有一个整数权值 (可以为负数)。

请选出若干个结点组成集合 ,要求 中任意两个结点都不相邻(即不存在一条边同时连接 中的两个结点),使得 最大。

允许一个结点都不选。此时 为空集,规定其权值和为 ,并且空集本身也满足「任意两点不相邻」的要求。

输入格式

第一行一个正整数 。

第二行 个整数 ,相邻两个整数之间用一个空格隔开。

接下来 行,每行两个整数 ,表示结点 与结点 之间有一条边。输入保证这些边构成一棵树。

输出格式

输出一行一个整数,表示满足要求的点集中最大的权值和。

样例

样例输入

5
-5 4 6 -2 3
1 2
1 3
3 4
3 5

样例输出

10

样例解释

这棵树以 为根时:结点 是 的儿子,结点 是 的儿子,结点 都是 的儿子。

选取的集合 是否合法 权值和
合法
合法
合法( 不相邻)
合法
合法
不合法( 相邻) —

所有合法集合中权值和最大的是 ,答案为 。

数据范围

对于全部测试数据:

  • ;
  • ;
  • ,且输入的 条边恰好构成一棵树。

注意:答案可能超过 位整数的表示范围。

输入
输出

            
答案