QOJ.ac

QOJ

时间限制: 1 s 内存限制: 64 MB 总分: 90

#13570. Deblo

统计

大约三十年前,年轻的 Krešo 第一次参加了全国信息学竞赛。与今天类似,竞赛的开幕式由一系列发言人组成,他们试图通过励志演讲向参赛者展示这项赛事的重要性。观众们热情高涨,每隔几秒钟就开心地鼓掌,但 Krešo 却被其中一句话激怒了。具体来说,其中一位发言人声称,他更欣赏逻辑“与”(AND)运算,而不是逻辑“或”(OR)运算,因为无论获胜者的身份如何,对他来说,Mirko 和 Slavko 都是全国竞赛的获胜者,而不是获胜者是 Mirko 或 Slavko。Krešo 气疯了,站起来开始向观众解释,这是一种被称为“异或”(exclusive OR,俗称 XOR)的运算。在结束他的演讲后,他给这位杰出的发言人留下了以下任务,以检验他的理解。

给定一棵由 $N$ 个节点组成的树,其中每个节点都被分配了一个权值。树上一条路径的权值定义为该路径上所有节点权值的异或和(exclusive OR)。你的任务是求出树上所有路径的权值之和,包括仅包含一个节点的路径。

三十年后,Krešo 终于说服了 COCI 的命题组将这个任务加入到其中一轮比赛中。请帮助我们重拾 Krešo 对竞争性程序设计未来的信心。

注意:异或($\oplus$)是一种二进制运算,它分别应用于其两个操作数的每个对应位,当且仅当两个操作数中恰好有一个操作数的该位为 1 时,结果中的该位才被设置为 1。

输入格式

第一行包含一个正整数 $N$ ($1 \le N \le 100\,000$),表示树中的节点数。

第二行包含 $N$ 个由空格隔开的整数 $v_i$ ($0 \le v_i \le 3\,000\,000$),第 $i$ 个值表示第 $i$ 个节点的权值。

接下来的 $(N-1)$ 行,每行包含两个数 $a_j$ 和 $b_j$ ($1 \le a_j, b_j \le N$),表示节点 $a_j$ 和 $b_j$ 之间存在一条边。

输出格式

输出所有树上路径权值的总和。

子任务

  • 在占总分 30% 的测试数据中,$N$ 将小于或等于 200。
  • 在占总分 50% 的测试数据中,$N$ 将小于或等于 1000。
  • 在占总分额外 20% 的测试数据中,每个节点 $x = 1, 2, \dots, N-1$ 都与节点 $x + 1$ 相连。

样例

输入样例 1

3
1 2 3
1 2
2 3

输出样例 1

10

输入样例 2

5
2 3 4 2 1
1 2
1 3
3 4
3 5

输出样例 2

64

输入样例 3

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

输出样例 3

85

说明

第一个样例的解释:

  • 节点 1 到节点 1 的路径权值为 $1$
  • 节点 1 到节点 2 的路径权值为 $1 \oplus 2 = 3$
  • 节点 1 到节点 3 的路径权值为 $1 \oplus 2 \oplus 3 = 0$
  • 节点 2 到节点 2 的路径权值为 $2$
  • 节点 2 到节点 3 的路径权值为 $2 \oplus 3 = 1$
  • 节点 3 到节点 3 的路径权值为 $3$

所有路径的权值之和为 $1 + 3 + 0 + 2 + 1 + 3 = 10$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.