#iai23b2. 树上归零(Zeroing the Tree)
树上归零(Zeroing the Tree)
树上归零(Zeroing the Tree)
题目描述
给定一棵有 个结点的树, 号点为根。树上每个点都有一个值,其中第 个点的值为 。小爱想通过若干步操作将树上的所有值全部变为 ,每步操作可以选择树上任意一个结点 ,然后将 的子树上的所有值增加 ,或者将 的子树上的所有值减少 。
请问小爱最少需要几步操作才能将树上所有点的数值变成 ?
输入格式
- 第一行:单个整数 ;
- 第二行: 个整数 ,表示 2 号点到 n 号点各自的父亲编号;
- 第三行: 个整数 ,表示每个点的初始值。
输出格式
- 单个整数:表示最少的操作步数使得所有值归零。
样例输入 #1
3
1 1
10 -10 10
样例输出 #1
30
数据范围
- ;
- 对于 的数据:;
- 对于 的数据:;
- 对于 的数据:。
知识点与难度
本题涉及的知识点从属于 GESP 六级(树、贪心、差分),难度等级:⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 / 特殊性质 |
| 2 | 15 | 9~11 | Hack |
| 3 | 30 | 12~20 | 中大规模 |
| 4 | 25 | 21~25 | 随机回归 |