#L6105. 「2017 山东二轮集训 Day2」第三题
「2017 山东二轮集训 Day2」第三题
「2017 山东二轮集训 Day2」第三题
传统 3000 ms 512 MiB
通过 提交
题目描述
小火车觉得对生活已经没有什么好留恋的了,于是决定前往二次元去寻找真爱。
但是跨越次元是不被神所允许的,小火车决定和神进行比赛,神给了他一个题,你能帮忙解出来吗?
从前有三堆集合分别是 ,我们认为
$$B_i = \left(\bigcap_{j \in A_i} B_j\right) \cup C_i $$而 里的元素一定小于 ,任意时刻两个不同的 集合的交集为空。现在神告诉你 集合以及 集合的大小,你能告诉他对于我的询问集合 ,
是多少么。
实际上你要支持的操作如下:
- 给定集合 ,令 加一,多了个新的 和 , 的大小为 ;
- 把 的大小改成为 ;
- 询问集合 ;
输入格式
第一行一个正整数 表示操作总数,接下来 行每行一个操作。
- 如果是 1 号操作,格式为
Add t后跟 个整数, 表示 的大小, 个整数表示集合 。 - 如果是 2 号操作,格式为
Update i k; - 如果是 3 号操作,格式为
Query t后跟 个整数,含义同上。
数据保证合法。为了体现程序的在线性,1 号操作集合里的元素都需要异或上上次的答案,初值为 (注意 不需要)。
输出格式
对于每个 3 号操作输出一行一个整数表示答案。
样例
输入
4
Add 0 1
Query 1 1
Update 1 4
Query 1 1
输出
1
4
数据范围与提示
用 表示插入数量,用 表示询问数量。
- 对于 的数据,满足 ,Update 操作数量为 , 集合和询问集合总大小 ;
- 对于 的数据,满足 ,Update 操作数量为 , 集合和询问集合总大小 ;
- 对于 的数据,满足 ,Update 操作数量 , 集合和询问集合总大小 ; 。