luogu#P12126. [蓝桥杯 2024 省 B 第二场] 狡兔 k 窟

[蓝桥杯 2024 省 B 第二场] 狡兔 k 窟

题目描述

一只兔子名叫小蓝,它异常狡猾,在土中挖了若干洞窟并且设置了很多出入口来应对紧急情况。它一共有 nn 个通往地面的出入口,在地面上这 nn 个出入口之间由 n1n - 1 条长度为 11 的双向通路连成一个连通图。第 ii 个出入口属于第 cic_i 个洞窟,因此小蓝可以在任意一个属于 cic_i 的出入口从地面进入洞窟然后从任意一个属于 cic_i 的出入口跑出到达地面。

小蓝提出了 mm 个逃跑路线,第 ii 个路线希望从出入口 sis_i 逃往 tit_i,它希望在逃跑的过程中在地面上跑动的距离尽可能短,请为每条路线计算逃跑时在地面上跑动的最短距离。

输入格式

输入的第一行包含两个正整数 n,mn, m,用一个空格分隔。

第二行包含 nn 个正整数 c1,c2,,cnc_1, c_2, \dots , c_n,相邻整数之间使用一个空格分隔。

接下来 n1n - 1 行,第 ii 行包含两个整数 ui,viu_i, v_i,用一个空格分隔,表示地面上的一条通路连接 uiu_iviv_i

接下来 mm 行,第 ii 行包含两个整数 si,tis_i, t_i,用一个空格分隔。

输出格式

输出 mm 行,每行包含一个整数,依次表示每个询问的答案。

6 3
1 3 2 1 2 3
1 2
1 3
2 4
2 5
3 6
2 6
3 2
4 3
0
1
1

提示

评测用例规模与约定

  • 对于 20%20\% 的评测用例,1n,m,ci1001 \leq n, m, c_i \leq 100
  • 对于所有评测用例,1n,m,ci50001 \leq n, m, c_i \leq 50001ui,vi,si,tin1 \leq u_i, v_i, s_i, t_i \leq n