题库/Y1243

#Y1243. 量子纠缠

    传统题 难度: 提高 标签>一本通并查集合并与代表元Trie插入、查询与前缀统计
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1243 · 量子纠缠

退出在线编程模式
提高 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交

题目描述

J君正在研究量子信息的纠缠。 具体来说,J君有一个初始为空的信息集。 她会进行mm次操作,有时,她会向信息集内加入一个长度不超过L的数字串(一个数字串为一个仅由00到99组成的非空字符串),有时她会给出一个数字串,询问这个数字串是否包含在她的信息集中,有时她会选取两个长度不超过LL的数字串,使它们在信息集内互相纠缠。 两个数字串AA和BB互相纠缠表示,对于信息集中的任意串A+CA+C,需满足B+CB+C也在信息集中,对于信息集中的任意串B+DB+D,需满足A+DA+D也在信息集中(其中++代表字符串顺序连接,C、DC、D可能是空串),因此一次纠缠操作可能导致若干个数字串 (可能为无穷多个) 被加入信息集中。 由于两个数字串的纠缠是一种状态,在纠缠后的任何时刻都需满足以上性质,因此第一次纠缠操作之后的任何添加操作都可能导致大于11个(可能为无穷多个)数字串被加入信息集。 你需要做的就是回答 J 君的所有询问。

输入

第一行包含一个正整数mm,代表操作数。 接下来mm行,每行可能有以下形式: “1  s1\;s”表示将数字串ss加入信息集中。 “2  s2\;s”表示询问数字串ss是否在信息集中。 “3  a  b3\;a\;b”表示使数字串aa和bb互相纠缠。

输出

对于每一个2操作,如果询问串不在集合中,请输出一行一个整数00,否则输出一行一个整数11。

输入样例

11
1 123
2 123
2 0
3 12 13
1 124
2 133
2 134
2 13
3 1 11
2 111
2 11111111111111111111111124

输出样例

1
0
1
1
0	
0
1	

提示

【数据规模和约定】

测试点m≤c≤其它
1$10^5$2050不含操作3
2所有串中只会出现字符0
3500200信息集中元素有限
4500
5
6$10^5$2050
7500500N/A
820002050
9$10^5$保证所有1操作和所有3操作都在2操作前面
10N/A
100%的数据满足$m≤10^5,c≤2050,S≤8×10^6,L≤50,P≡m(\bmod 10)$。 其中$c$代表操作$1$和操作$3$次数之和,$S$代表询问字符串的总长度。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共8个测试点,非原站或官方原始数据。总分100分。