U639895 树上子树颜色询问2
题目描述
给你一棵包含 $n$ 个节点的树,节点编号从 $1$ 到 $n$,根节点的编号为 $1$。
每一个节点都有一个颜色,我们用 $c_i$ 来表示节点 $i$ 的颜色。
接下来有 $m$ 次询问,每一次询问都会给你两个整数 $u_i$ 和 $c_i$,对于每一次询问,你需要回答:以节点 $u_i$ 为根节点的子树中颜色为 $c_i$ 的节点数量。
输入格式
第一行,一个整数 $n$,表示树的大小。
第二行,$n$ 个整数 $c_1, c_2, \ldots, c_n$,以空格分隔,表示每个节点的颜色。
接下来 $n-1$ 行,每一行包含两个整数 $u_i$ 和 $v_i$,表示树上一条边连接的两个端点。
接下来一行,一个整数 $m$,表示询问次数。
接下来 $m$ 行,每行包含两个整数 $u_i$ 和 $c_i$,表示一次询问。
输出格式
对于每次询问,输出一行,包含一个整数,表示以节点 $u_i$ 为根节点的子树中颜色为 $c_i$ 的节点数量。
说明/提示
#### 数据规模与约定
- 对于 $20\%$ 的数据,$n,m \le 20$
- 对于 $50\%$ 的数据,$n,m \le 2000$
- 对于 $100\%$ 的数据,$1 \le n,m \le 2 \cdot 10^5$,$1 \le c_i \le n$,$1 \le u_i, v_i \le n$,数据保证这是一棵树