#P6514. 「雅礼集训 2018 Day10」文明

「雅礼集训 2018 Day10」文明

题目描述

《文明》是一款流行的回合制策略游戏。游戏中玩家建立起一个帝国,并接受时间的考验。玩家将创建及带领自己的文明从石器时代迈向信息时代,并成为世界的领导者。在尝试建立起世界上赫赫有名的伟大文明的过程中,玩家将启动战争、实行外交、促进文化,同时正面对抗历史上的众多领袖。在游戏中,每个玩家都有一个属于自己的国家,随着时代更迭,国家的疆土也会越来越大,最后所有的国家将最终把整个游戏地图占领。

整个游戏地图是 nn 个结点的树,要在这个地图上进行 qq 次游戏,每次有 kk 个玩家,每个玩家的国家一开始的领土只有一个点 a1,a2,...,aka_1, a_2, ..., a_k,保证每个点两两不同。然后 1,2,...,k1, 2, ..., k 号玩家轮流进行一个回合,每个回合可以对国家疆土上的所有节点进行距离为 11 的扩展,如果扩展到不属于任何其他国家的节点,则将这个点划入自己国家的疆土。如此往复,直到所有的节点都被某个国家占领。

黈 (tǒu) 力最近沉迷于《文明》无法自拔,他想问问你他的国家能占领多大的游戏地图。由于黈力是 STEAM 上的黄金会员,所以他每次都是 11 号玩家,即他每次都是第一个进行回合的。

输入格式

第一行输入两个整数 n,qn, q,分别表示游戏地图的节点数和游戏数。

接下来 n1n - 1 行,每行输入两个整数 x,yx, y,表示游戏地图中有连边 x,yx, y,保证游戏地图是一棵无重边无自环的树。

接下来 qq 行,每行先输入一个整数 kik_i,表示第 ii 局游戏有 kik_i 个玩家。

接下来 kik_i 个数 aija_{ij},表示这局游戏第 jj 个玩家的国家初始所在的节点。

输出格式

输出 qqqq 个数,表示每次游戏黈力的国家能占领的节点数。

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

数据范围与提示

测试点编号 nn qq kik_i 特殊情况
1 5\leq 5
2 50\leq 50
3 200\leq 200
4 500\leq 500
5 1500\leq 1500
6 3000\leq 3000
7 5000\leq 5000 游戏地图是一条链
8
9 10\leq 10 =2 = 2
10 10\leq 10
11 5000\leq 5000
12
13 100000\leq 100000 =2 = 2
14 250000\leq 250000
15
16 =3 = 3
17 10 \leq 10
18 20 \leq 20
19 100000\leq 100000 游戏地图是一条链
20
21 100000\leq 100000 黈力永远在 11 号点
22
23 树是随机的
24 250000\leq 250000
25

对于所有数据,有 $n, q \leq 500000, 1 \leq k_i \leq n, \sum_{i = 1}^{q} k_i \leq 1000000$。