#X10F. [LSOT-4] Masuko or Haru?
[LSOT-4] Masuko or Haru?
题目背景
Shion 作为社团活动后的作业,给 Yotsuba 出了一道数据结构题。
Yotsuba 本来是想用水路查资料的,但是查着查着就去和 Haru 聊天了……
但是还有 1 秒就要到下午 5 点了!Yotsuba 只能去询问 Masuko 这道题怎么做了。
Masuko 当然可以在 1 秒之内解决这道题,她现在想考考你看你能不能 1 秒内解决这道题!
题目描述
给你 个长度为 的 01 串。
区间二元组的定义为满足 的二元组 。
区间集合的定义为区间二元组组成的集合。
定义 01 串 关于区间集合 的一次变化为任选一个区间二元组 ,( 代表二进制按位异或)。
定义 01 串 和 在区间集合 下等价为 可以在经过任意次关于 的变化后变为 。
刚开始时 。
一共有 次操作,每次操作都为插入操作或询问操作。
插入操作为给定一个区间二元组 ,。
询问操作为给定 ,你需要判断第 个 01 串和第 个 01 串是否关于区间集合 等价。
输入格式
第一行,三个整数 。
第二行,一个长为 的 01 串,每 个字符代表一个给定的 01 串,即第 个字符到第 个字符表示第 个 01 串。
接下来 行,每行三个正整数,第一个正整数为 。
- 如果 代表为插入操作,接下来两个正整数为 。
- 如果 代表为询问操作,接下来两个正整数为 。
输出格式
对于每个询问操作,输出一行,一个字符串,如果等价则输出 Masuko
,否则输出 Haru
。
样例
2 5 5
1001111001
2 1 2
1 2 3
2 1 2
1 3 4
2 1 2
Haru
Haru
Masuko
样例 1 解释
每个 01 串初始形如:
10011
,
11001
。
- 第一次询问:此时集合 为空。两个 01 串显然不同。
- 第二次询问:此时集合 为 ,则第一个串只能变成
10011
或11111
,无法变得相同,故不等价。 - 第三次询问:此时集合 为 ,依次进行 变换和 变换即可变为第二个串。故等价。
10 10 20
1110001000101011110100110000110111001111111110111101001111011111011101000000000111110100010000100110
2 2 1
2 9 6
2 6 10
2 1 1
2 3 2
1 7 9
2 10 10
2 10 4
1 1 7
1 8 8
1 2 3
1 2 7
2 1 9
2 6 1
1 1 3
2 10 7
1 2 4
2 9 1
1 3 7
1 1 5
Haru
Haru
Haru
Masuko
Haru
Masuko
Haru
Haru
Haru
Haru
Haru
数据范围
本题采用捆绑测试。
- 子任务 1(17 分):,。
- 子任务 2(14 分):。
- 子任务 3(16 分):。
- 子任务 4(13 分):插入操作不超过 次。
- 子任务 5(21 分):所有的插入操作在所有的询问操作之前。
- 子任务 6(19 分):无特殊性质。
对于全部的数据,,,,,。