A21700.首都

省选/NOI-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在 X 星球上有 nn 个国家,每个国家占据着 X 星球的一座城市,城市从 11nn 编号。由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的。

X 星球上战乱频发,如果 A 国打败了 B 国,那么 B 国将永远从这个星球消失,而 B 国的国土也将归 A 国管辖。A 国国王为了加强统治,会在 A 国和 B 国之间修建一条公路,即选择原 A 国的某个城市和 B 国某个城市,修建一条连接这两座城市的公路。

同样为了便于统治自己的国家,国家的首都会选在某个使得其他城市到它距离之和最小的城市,这里的距离是指需要经过公路的条数,如果有多个这样的城市,编号最小的将成为首都。

现在告诉你发生在 X 星球的战事,需要你处理一些关于国家首都的信息,具体地,有如下3种信息需要处理:

  • A x y:表示某两个国家发生战乱,战胜国选择了 xx 城市和 yy 城市,在它们之间修建公路(保证其中城市一个在战胜国另一个在战败国)。
  • Q x:询问当前编号为 xx 的城市所在国家的首都。
  • Xor:询问当前所有国家首都编号的异或和。

输入格式

输入的第一行有两个整数,分别表示城市数 nn 和需要处理的信息数 mm

接下来 mm 行,每行首先有一个字符串 opop,表示信息类型,后有若干个整数,其格式如【题目描述】所示。

输出格式

对于每个 Q 操作和 Xor 操作,输出一行一个整数表示答案。

输入输出样例

  • 输入#1

    10 10 
    Xor 
    Q 1 
    A 10 1 
    A 1 4 
    Q 4 
    Q 10 
    A 7 6 
    Xor 
    Q 7 
    Xor

    输出#1

    11 
    1 
    1 
    1 
    2 
    6 
    2 
    

说明/提示

数据规模与约定

对于全部的测试点,保证 1n1051 \leq n \leq 10^51m2×1051 \leq m \leq 2 \times 10^51x,yn1 \leq x, y \leq n

首页