CF2155F.Juan's Colorful Tree

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

胡安有一棵美丽的树,包含编号从 11 到 nn 的 nn 个节点。还有 kk 种不同的颜色,编号从 11 到 kk。树中的每个节点 uu 都有自己的颜色集合 CuC_u。用 ss 表示所有集合大小的总和,即 s=∑i=1n∣Ci∣s = \sum_{i=1}^n |C_i|。

有 qq 次查询,每次给出节点 uu 和 vv。用 PP 表示从 uu 到 vv 的简单路径(包括端点)上的所有节点集合。对于每次查询,你需要计算以下值:

∣⋂w∈PCw∣\left| \bigcap_{w \in P} C_w \right|

也就是说,路径上所有节点的颜色集合的交集的基数。换句话说,计算在从 uu 到 vv 的路径上每个节点的颜色集合中都出现的颜色数量。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1041 \le t \le 10^4)。接下来是测试用例的描述。

每个测试用例的第一行包含四个整数 nn、kk、ss 和 qq(1≤n,k,q≤3⋅105,1≤s≤min⁡(nk,3⋅105)1 \le n, k, q \le 3 \cdot 10^5, 1 \le s \le \min (nk, 3 \cdot 10^5))——分别是树中的节点数、不同颜色的数量、所有颜色集合大小的总和以及查询次数。

接下来的 n−1n-1 行每行包含两个整数 uu、vv(1≤u,v≤n1 \le u, v \le n),表示节点 uu 和 vv 之间有一条边。

接下来的 ss 行每行包含两个整数 vv 和 xx(1≤v≤n,1≤x≤k1 \le v \le n, 1 \le x \le k),表示颜色 xx 在集合 CvC_v 中。所有 ss 行都是两两不同的。

接下来的 qq 行每行包含两个整数 uu 和 vv(1≤u,v≤n1 \le u, v \le n),表示一次查询,询问节点 uu 和 vv 之间的路径。

保证所有测试用例的 nn 的总和不超过 3⋅1053 \cdot 10^5。

保证所有测试用例的 kk 的总和不超过 3⋅1053 \cdot 10^5。

保证所有测试用例的 ss 的总和不超过 3⋅1053 \cdot 10^5。

保证所有测试用例的 qq 的总和不超过 3⋅1053 \cdot 10^5。

输出格式

对于每个测试用例,输出一行:按输入顺序输出所有查询的答案,用空格分隔。

输入输出样例

  • 输入#1

    2
    3 5 10 4
    1 3
    2 1
    1 1
    1 2
    1 3
    1 4
    1 5
    2 1
    2 2
    2 5
    3 1
    3 2
    1 3
    2 3
    1 2
    1 1
    9 3 12 10
    7 2
    2 4
    6 8
    9 6
    2 1
    5 8
    2 5
    3 9
    1 3
    6 1
    9 3
    9 1
    5 1
    2 3
    8 1
    4 3
    5 3
    8 3
    7 3
    3 1
    4 7
    1 4
    4 5
    5 5
    4 2
    9 9
    2 2
    2 2
    5 2
    7 3

    输出#1

    2 2 3 5 
    1 1 1 2 1 2 1 1 1 0

说明/提示

在第一个测试用例中,有一棵 3 个节点的树,边为 (1,3)(1, 3) 和 (2,1)(2, 1)。每个节点的颜色集合为:

  • C1={1,2,3,4,5}C_1 = \{ 1, 2, 3, 4, 5 \}
  • C2={1,2,5}C_2 = \{ 1, 2, 5 \}
  • C3={1,2}C_3 = \{ 1, 2 \}

4 次查询分别对应节点对 (1,3)(1, 3)、(2,3)(2, 3)、(1,2)(1, 2)、(1,1)(1, 1),分别计算以下值:

  • ∣C1∩C3∣=∣{1,2}∣=2|C_1 \cap C_3| = |\{ 1, 2 \}| = 2
  • ∣C2∩C1∩C3∣=∣{1,2}∣=2|C_2 \cap C_1 \cap C_3| = |\{ 1, 2 \}| = 2
  • ∣C2∩C1∣=∣{1,2,5}∣=3|C_2 \cap C_1| = |\{ 1, 2, 5 \}| = 3
  • ∣C1∣=∣{1,2,3,4,5}∣=5|C_1| = |\{ 1, 2, 3, 4, 5 \}| = 5

输入解题思路,AI测评打分。不知道怎么写?

首页