5317 - 第二十四章 双指针和莫队:树上莫队
时间限制 : 2 秒
内存限制 : 512 MB
- 给定 n 个结点的树,每个结点有一种颜色。
- m 次询问,每次询问给出 u,v,回答 u,v 之间的路径上的结点的不同颜色数。
- 1\le n\le 4\times 10^4,1\le m\le 10^5,颜色是不超过 2 \times 10^9 的非负整数。
输入
在第一行中有两个整数N和M。(N <= 40000,M <= 100000)
在第二行中有N个整数。第i个整数表示第i个节点的权重。
在接下来的N-1行中,每行包含两个整数u和v,它描述了一条边(u,v)。
在接下来的M行中,每行包含两个整数u和v,这表示一个操作,询问在从u到v的路径上,有多少个不同的整数代表了节点的权重。
输出
对于每个操作输出其结果。
样例
输入
8 2 105 2 9 3 8 5 7 7 1 2 1 3 1 4 3 5 3 6 3 7 4 8 2 5 7 8
输出
4 4