#THU20224C. 遍历平滑性
遍历平滑性
时间限制: 2.0 秒
空间限制: 512 MB
题目描述
给定一棵有 个节点的二叉树 ,树上的每个点 有点权 。
考虑二叉树 的先序遍历 ,我们定义其平滑性为:
现在,你可以任意选择若干个节点并交换它们的左右儿子,使得树 的先序遍历的平滑性最小。
输入格式
从标准输入读入数据。
输入的第一行包含一个正整数 。
输入的第二行包含 个正整数,第 个正整数 为节点 的点权,保证 。
输入的第三行包含 个正整数 ,其中 为节点 的父节点。
对于所有的 ,保证 且每个 不会出现超过 次。我们约定 第一次出现时,表示 是 的左儿子; 第二次出现时,表示 是 的右儿子。
输出格式
输出到标准输出。
输出一个非负整数,即所求的最小平滑性。
5
1 2 3 4 5
1 1 2 2
6
样例 1 解释
在这组样例中,节点的编号即为点权,树的形态如图所示。
我们交换 号节点和 号节点,便可以得到一个平滑性最小的先序遍历序列 : 。
子任务
对于所有数据,保证 ,输入的树一定为一棵二叉树。
本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。
子任务 | 分值 | |
---|---|---|
1 | 20 | |
2 | ||
3 | 30 | |
4 |
Related
In following contests: