#P17384. [PacNW 2025] Friendships

[PacNW 2025] Friendships

题目描述

在“充满想象力的儿童游戏教室”(Imaginative Child's Play Classroom,ICPC)里有 nn 个孩子。随着时间推移,一些孩子会成为朋友。友谊是双向的:如果孩子 A 是孩子 B 的朋友,那么孩子 B 也是孩子 A 的朋友。另一方面,友谊不具有传递性:即使 A 和 B 是朋友、B 和 C 是朋友,A 与 C 也未必是朋友。由于新学年刚刚开始,最初还没有任何两个孩子是朋友。

如果一个孩子在课堂上表现良好,老师有时会送给他一个玩具。最初所有孩子都没有玩具。ICPC 认为任何孩子都不应拥有超过 5050 个玩具,因此如果送出一个玩具会使某个孩子的玩具数超过 5050,老师就不能这样做。

有时,一个孩子会玩腻与朋友们一起玩的玩具,转而羡慕那些拥有许多玩具的其他孩子。此时,他会想知道:不是自己朋友的其他孩子中,最多拥有多少个玩具。

输入格式

第一行包含两个整数 n,qn,q1n,q41051\le n,q\le4\cdot10^5),分别表示孩子数量和询问数量。孩子编号为 11nn

接下来 qq 行,每行是以下三种操作之一:

  • F i j:孩子 ii 与孩子 jj 成为朋友。保证二人此前不是朋友,且 iji\ne j
  • A i:老师送给孩子 ii 一个玩具;
  • Q j:孩子 jj 想知道,不是自己朋友的其他孩子中,最多拥有多少个玩具。

保证任何孩子拥有的玩具数都不会超过 5050

输出格式

对于每个 Q j 操作,输出一个整数 kk,表示不是孩子 jj 的朋友的其他孩子中,某个孩子所拥有玩具数的最大值。若孩子 jj 与其他所有孩子都是朋友,则令 k=1k=-1

3 10
Q 1
A 2
A 1
A 2
Q 3
Q 2
F 2 3
Q 3
F 1 3
Q 3
0
2
1
1
-1