#P649. 树的最大和
树的最大和
题目描述
给定一棵 个结点的树, 号点为根。每个点都有一个权值,第 个点的权值为 ,权值有正有负。请在这棵树里找到一个连通分量,该连通分量内结点的权值之和达到最大,输出这个最大和。
连通分量是指树上一些点的集合,如果用树上的边连接这些点不需要经过连通分量外的点。连通分量可以是空集,空集的权值之和定义为 。
输入格式
- 第一行:单个整数表示 ;
- 第二行: 个整数表示 到 , 表示 号点父亲的编号,保证有
- 第三行: 个整数表示 到 , 表示 号点的权值
输出格式
- 单个整数:表示答案。
6
1 1 2 2 3
10 20 -30 40 -50 60
100
样例解释 1
10+20-30+40+60=100
数据范围
- 对于 的数据, ;
- 对于 的数据, ;
- 对于 的数据,
- 。