U229291 树上求和
题目描述
给一棵 $n$ 个节点的树,第 $i$ 个节点有一个颜色 $c_i$ 。
请问对于树上所有点对 $(u,v)(1\leq u< v\leq n)$ ,它们路径上的点有多少种不同的颜色。输出所有点对的答案的和。
输入格式
第一行,一个整数 $n$ ,表示节点个数。
接下来一行,一共 $n$ 个整数 $c_1
, c_2, ...\,, c_n$ ,表示每个点的颜色。
接下来 $n − 1$ 行,每行两个数 $u, v$ ,表示树上的一条边。
输出格式
一行,一个整数,表示答案。
说明/提示
共 $10$ 组数据。
测试点 $1$ 满足 $n ≤ 100$ 。
测试点 $2,3$ 满足 $n ≤ 10^3$ 。
测试点 $4,5$ 满足 $n ≤ 2 × 10^5, 1 ≤ c_i ≤ 20$ 。
测试点 $6,7$ 满足 $n ≤ 2 × 10^5$ ,每种颜色节点数不超过 $20$ 个。
对于 $100\%$ 数据,满足 $1 ≤ n ≤ 2 × 10^5, 1 ≤ c_i\leq n$