#L3559. 「BalticOI 2021 Day1」Inside information

「BalticOI 2021 Day1」Inside information

题目描述

题目译自 BalticOI 20212021 Day11「Inside information」,译者 Shuchong。

NN 个服务器,第 ii 个服务器存储着第 ii 块数据,现在有若干种操作:

  • S a b:第 aa 个服务器与第 bb 个服务器共享数据,即这两个服务器同时拥有这两个服务器本身拥有的数据块的和,并自动去重(可以理解为数据块之并)。

  • Q a d:查询第 aa 个服务器是否拥有第 dd 块数据。

  • C a:查询存储数据块 aa 的服务器数量。

SS 操作有 N1N-1 次,如果把共享看做连边,那么最后将形成以 NN 个服务器为点的一棵树;QQ 操作和 CC 操作一共有 KK 次。

求对于每个 QQ 操作和 CC 操作返回的结果。

输入格式

第一行两个整数 N,KN,K 代表服务器个数和操作个数。

接下来 N+K1N+K-1 行每行代表一个操作。

输出格式

共有 KK 行:

对于 QQ 操作,输出 yes 或 no 代表是否拥有第 dd 块数据;

对于 CC 操作,输出一个整数代表服务器数量。

6 9
S 1 2
S 1 3
S 3 4
Q 5 1
S 4 5
S 1 6
Q 5 1
Q 1 5
C 1
C 2
C 3
C 4
C 5
C 6

yes
yes
no
no

数据规模与约定

对于 100100% 的数据,1N,K1.2×1051 \le N,K \le 1.2 \times 10^5