前情提要
在过去的半年中,kuro使用这种分组方法打出了很好的分数,不幸的是,面对一些抽象的谱面(与题目无关,请不要在赛时访问),kuro需要新的分组方法!
具体的说,一共有个音符,一共有四种操作。
,kuro认为从到的所有音符应该属于同一组。
,kuro认为和应该属于同一组。
,kuro想知道是否属于同一组
,kuro反悔了,认为的所有点都不应该和任何其他点属于同一组(即各自为一组)
两个音符,当且仅当符合以下三种情况时属于同一组(具体例子请阅读样例和样例解释)
1.在kuro的某一次认定中被认为属于同一组音符
2.因为第一种或此前因该种情况被认为属于同一组音符,,也因为第一种或此前因该种情况被认为属于同一组音符
3.第四种操作并不会影响以某个为中继点的点属于同一组,只是将[l,r]范围内的所有点都各自独立
每个测试点的第一行为一个整数,表示该测试点有组测试数据
每组测试数据的第一行包含两个整数 和 (, ),分别表示音符的总数和操作数量。
接下来的 行,每行有三个整数,第一个整数表示操作种类,接下来的 个整数,l,r与题目描述中含义相同
保证每个测试点的所有的总和不超过。
对于第三个操作,若属于同一组,你需要输出一行,只包含一个整数1,否则,你需要输出一行,只包含一个整数0
对于其他操作,你不需要输出。
输入 #1
1 5 5 1 1 3 2 3 5 2 1 3 4 2 4 3 1 5
输出 #1
1
第一次操作后,分组为[1,2,3],[4],[5]
第二次操作后,分组为[1,2,3,5],[4]
第三次操作后,分组不变
第四次操作后,分组为[1,5],[2],[3],[4]
第五次操作为询问,分组不变
输入 #2
2 1000000000 3 1 1 3 1 4 5 3 3 4 10000000 3 1 1 1 3 2 2 1 1000 10000000
输出 #2
0 1