编程题
### 问题描述 在一座神秘的森林中,生长着一棵巨大的树,传说它能够掌握森林中所有生命的颜色。每个节点都代表着一种生命,并且拥有着独特的颜色,这些颜色是由树的根节点开始向下蔓延的。 树的根节点被赋予了一种特殊的能力,能够查询树中某一节点及其子树中出现次数不少于 $k$ 次的生命颜色种类数。 你是这座森林的守护者,拥有着与树根相同的能力。每天,你都会收到许多查询请求,需要你查询树中某一节点及其子树中出现次数不少于 $k$ 次的生命颜色种类数。你需要使用你的能力,回答这些查询请求,以保护森林中的所有生命。 ### 输入格式 第一行包含一个整数 $n$($2 \leq n \leq 10^4$),表示树的节点数。节点 $1$ 为树的树根。 第二行包含 $n$ 个整数 $c_1,c_2,\cdots, c_n$,其中 $c_i$ 个整数表示节点 $i$ 的生命颜色($1\leq c_i \leq 10^4$)。 接下来 $n-1$ 行,每行包含两个整数 $u$ 和 $v$($1\leq u,v \leq n$),表示存在一条连接节点 $u$ 和节点 $v$ 的无向边。 接下来一行包含一个整数 $q$($1\leq q \leq 10^4$),表示查询次数。 接下来 $q$ 行,每行包含两个整数 $u$ 和 $k$($1\leq u,k \leq n$),表示一次查询。 ### 输出格式 对于每个查询,输出一行一个整数,表示在以 $u$ 为根节点的子树中,出现次数不少于 $k$ 次的生命颜色种类数。 ### 样例输入 ```text 5 1 1 1 2 3 1 2 1 3 2 4 2 5 2 1 1 1 3 ``` ### 样例输出 ```text 3 1 ```
查看答案
赣ICP备20007335号-2