P17384 [PacNW 2025] Friendships
题目描述
在“充满想象力的儿童游戏教室”(Imaginative Child's Play Classroom,ICPC)里有 $n$ 个孩子。随着时间推移,一些孩子会成为朋友。友谊是双向的:如果孩子 A 是孩子 B 的朋友,那么孩子 B 也是孩子 A 的朋友。另一方面,友谊不具有传递性:即使 A 和 B 是朋友、B 和 C 是朋友,A 与 C 也未必是朋友。由于新学年刚刚开始,最初还没有任何两个孩子是朋友。
如果一个孩子在课堂上表现良好,老师有时会送给他一个玩具。最初所有孩子都没有玩具。ICPC 认为任何孩子都不应拥有超过 $50$ 个玩具,因此如果送出一个玩具会使某个孩子的玩具数超过 $50$,老师就不能这样做。
有时,一个孩子会玩腻与朋友们一起玩的玩具,转而羡慕那些拥有许多玩具的其他孩子。此时,他会想知道:不是自己朋友的其他孩子中,最多拥有多少个玩具。
输入格式
第一行包含两个整数 $n,q$($1\le n,q\le4\cdot10^5$),分别表示孩子数量和询问数量。孩子编号为 $1$ 到 $n$。
接下来 $q$ 行,每行是以下三种操作之一:
- `F i j`:孩子 $i$ 与孩子 $j$ 成为朋友。保证二人此前不是朋友,且 $i\ne j$;
- `A i`:老师送给孩子 $i$ 一个玩具;
- `Q j`:孩子 $j$ 想知道,不是自己朋友的其他孩子中,最多拥有多少个玩具。
保证任何孩子拥有的玩具数都不会超过 $50$。
输出格式
对于每个 `Q j` 操作,输出一个整数 $k$,表示不是孩子 $j$ 的朋友的其他孩子中,某个孩子所拥有玩具数的最大值。若孩子 $j$ 与其他所有孩子都是朋友,则令 $k=-1$。