A85937.「联合省选 2020 A」树

省选/NOI-

通过率:0%

时间限制:2.00s

内存限制:512MB

题目描述

给定一棵 nn 个结点的有根树 TT,结点从 11 开始编号,根结点为 11 号结点,每个结点有一个正整数权值 viv_i。

设 xx 号结点的子树内(包含 xx 自身)的所有结点编号为 c1,c2,…,ckc_1, c_2, \dots, c_k,定义 xx 的价值为:

val(x)=(vc1+d(c1,x))⊕(vc2+d(c2,x))⊕⋯⊕(vck+d(ck,x))val(x) = (v_{c_1} + d(c_1, x)) \oplus (v_{c_2} + d(c_2, x)) \oplus \cdots \oplus (v_{c_k} + d(c_k, x))

其中 d(x,y)d(x, y) 表示树上 xx 号结点与 yy 号结点间唯一简单路径所包含的边数,d(x,x)=0d(x, x) = 0。⊕\oplus 表示异或运算。

请你求出 ∑i=1nval(i)\sum_{i=1}^n val(i) 的结果。

输入格式

第一行一个正整数 nn 表示树的大小。

第二行 nn 个正整数表示 viv_i。

接下来一行 n−1n-1 个正整数,依次表示 22 号结点到 nn 号结点,每个结点的父亲编号 pip_i。

输出格式

仅一行一个整数表示答案。

输入输出样例

  • 输入#1

    5
    5 4 1 2 3
    1 1 2 2

    输出#1

    12

说明/提示

10%10\% 的数据:1≤n≤25011\le n\le 2501。

40%40\% 的数据:1≤n≤1525011\le n\le 152501。

另有 20%20\% 的数据:所有 pi=i−1(2≤i≤n)p_i = i - 1 (2\le i\le n)。

另有 20%20\% 的数据:所有 vi=1(1≤i≤n)v_i = 1 (1\le i\le n)。

100%100\% 的数据:1≤n,vi≤525010,1≤pi≤n1\le n, v_i \le 525010, 1\le p_i\le n。

输入解题思路,AI测评打分。不知道怎么写?

首页