#3510. [GESP八级模拟]等距教室

[GESP八级模拟]等距教室

题目描述

学校里有 nn 间教室,编号从 11 到 nn。任意两间教室之间要么直接有走廊相连,要么通过若干条走廊间接相通,并且整座教学楼恰好有 n−1n-1 条走廊——也就是说,所有教室和走廊构成了一棵树。两间教室之间的距离定义为它们之间最短路径上的走廊条数。

小 A 和小 B 每天会在不同的教室里上课。放学后,他们想找一个教室一起讨论题目,并且希望这个讨论教室到两人当天所在教室的距离相等。

因为每天的课表都不同,你需要回答接下来 mm 天的提问:对于第 ii 天,小 A 在 xix_i 号教室、小 B 在 yiy_i 号教室,问有多少间教室 zz 满足

$$\operatorname{dist}(z, x_i) = \operatorname{dist}(z, y_i)$$

其中 dist⁡(u,v)\operatorname{dist}(u, v) 表示教室 uu 与教室 vv 之间的距离(边数)。

输入格式

使用标准输入。输入包含多行:

  • 第一行一个整数 n (1≤n≤105)n\ (1 \le n \le 10^5),表示教室数量。
  • 接下来 n−1n-1 行,每行两个整数 aj,bj (1≤aj,bj≤n)a_j, b_j\ (1 \le a_j, b_j \le n),表示第 jj 条走廊连接了 aja_j 和 bjb_j 两间教室。
  • 接下来一行一个整数 m (1≤m≤105)m\ (1 \le m \le 10^5),表示提问的天数。
  • 接下来 mm 行,第 ii 行包含两个整数 xi,yi (1≤xi,yi≤n)x_i, y_i\ (1 \le x_i, y_i \le n),表示第 ii 天小 A 和小 B 所在的教室编号。

保证给定的 nn 个点与 n−1n-1 条边构成一棵树。

输出格式

使用标准输出。对于每一天输出一行一个整数,表示到小 A、小 B 当天教室距离相等的教室数量。

样例 #1

5
1 2
2 3
2 4
4 5
1
3 4
2

样例解释 #1

树的形状为:

    1
    |
    2
   / \
  3   4
      |
      5

第 11 天小 A 在 33 号教室、小 B 在 44 号教室,两人距离为 22(路径 3−2−43-2-4)。逐间检查:

  • 教室 11:到 33 距离 22,到 44 距离 22,相等;
  • 教室 22:到 33 距离 11,到 44 距离 11,相等;
  • 教室 33:到自身距离 00,到 44 距离 22,不等;
  • 教室 44:到 33 距离 22,到自身距离 00,不等;
  • 教室 55:到 33 距离 33,到 44 距离 11,不等。

共有 22 间教室满足条件。

样例 #2

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

样例解释 #2

第 11 天两人在 22 和 55,距离为 33(奇数),不可能存在到两者距离相等的教室,输出 00。

第 22 天两人在 11 和 55,距离为 44(偶数),唯一满足条件的教室是路径正中间的第 33 间,输出 11。

数据范围

对于所有数据:1≤n≤1051 \le n \le 10^5,1≤m≤1051 \le m \le 10^5,给定的 nn 个点与 n−1n-1 条边构成一棵树,1≤xi,yi≤n1 \le x_i, y_i \le n。

本题采用捆绑测试。只有通过一个子任务的全部测试,才能获得该子任务的分数。

子任务 分值 测试点 附加约束
11 2020 001∼004001 \sim 004 n≤100n \le 100 且 m≤100m \le 100,无依赖
22 005∼008005 \sim 008 n≤1000n \le 1000 且 m≤1000m \le 1000,无依赖
33 6060 009∼014009 \sim 014 无附加约束,无依赖

提示

注意两人可能在同一个教室(xi=yix_i = y_i),此时所有教室都满足条件。