题意:一条序列,两条指令。合并指令为 M i j,含义为第 i 号战舰所在的整个战舰队列,作为一个整体(头在前尾在后)接至第 j 号战舰所在的战舰队列的尾部。询问指令:C i j。该指令意思是,询问电脑,杨威利的第 i 号战舰与第 j 号战舰当前是否在同一列中,如果在同一列中,那么它们之间布置有多少战舰。
输入输出样例
输入 #1
1 2 3 4 5
4 M 2 3 C 1 2 M 2 4 C 4 2
输出 #1
1 2
-1 1
用 dis 表示到根的距离。M i j 指令将 i 所在的根接到 j 所在队列的尾部,j 不一定是尾部(之前一直接 j …菜哭)所以需要 sum 数组记录一个队列集合的大小。dis[ fa ] += sum[ fb ] 就是合并后到根的距离。