#456. [R73F]无根树

[R73F]无根树

时空限制

2S/512M

题目描述

给定一棵有 nn 个顶点的无根树,其中 nn 为偶数。每个顶点有一种颜色,每种颜色恰好出现两次。

你需要选择一个顶点 rr 作为树根。对于任意顶点 uu,定义 uu 的深度为 uurr 的简单路径上的边数。

若对于每种颜色,该颜色对应的两个顶点深度不同,则称 rr 为一个合法的树根。

求合法树根的数量。

格式

输入格式

第一行包含一个正偶数 nn,表示树的顶点数量。

第二行包含 nn 个正整数 c1,c2,,cnc_1,c_2,\ldots,c_n,其中 cic_i 表示顶点 ii 的颜色。保证每个 1xn/21\le x\le n/2 恰好在序列中出现两次。

接下来 n1n-1 行,每行包含两个正整数 u,vu,v,表示顶点 uu 与顶点 vv 之间有一条无向边。

保证输入的边构成一棵树。

输出格式

输出一行一个整数,表示合法树根的数量。

样例

样例输入 #1

4
1 2 1 2
1 2
2 3
2 4

样例输出 #1

2

样例解释 #1

选择顶点 11 或顶点 33 作为树根时,每种颜色的两个顶点深度均不同。选择顶点 22 或顶点 44 作为树根时,颜色 11 对应的两个顶点深度相同。

样例输入 #2

8
1 2 3 3 4 2 1 4
1 2
2 3
3 4
4 5
5 6
6 7
7 8

样例输出 #2

7

样例输入 #3

10
5 3 4 5 1 2 1 3 4 2
2 1
3 2
4 1
5 1
6 2
7 5
8 6
9 5
10 2

样例输出 #3

2

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le 特殊性质
11 3030 20002000
22 2×1052\times 10^5 特殊性质 A
33 4040

特殊性质 A:对于任意 1i<n1\le i<n,顶点 ii 与顶点 i+1i+1 之间均有一条边。

对于 100%100\% 的数据,满足 2n2×1052\le n\le 2\times 10^5nn 为偶数,1cin/21\le c_i\le n/2,每种颜色恰好出现两次,1u,vn1\le u,v\le nuvu\ne v,且输入的边构成一棵树。