#P4979. 矿洞:坍塌
矿洞:坍塌
题目背景
- Made By tomoo
CYJian 家里为什么那么有钱?因为他家&@%#开了矿!!
CYJian 家虽然有矿,但是有矿也不能任性。这不,CYJian 家的矿塌了......
change:出题人仁慈地放大了空间限制
题目描述
CYJian 家的矿塌了之后,就没有经济来源了(不要问我怎么没有存款)。
于是,CYJian 迫切地想要修复他家的矿。
CYJian 家的矿共出产 三种矿石,所以我们也只能用 三种材料来修复他们家的矿。我们已知共有 吨材料,每吨材料均为 三种材料中的一种,它们连成了一个串,如:
CYJian 家对材料的要求非常严格,他每次会选择一段连续区间的材料作为修复的材料。因为不合要求的材料会使得矿再次塌陷,砸死 CYJian,所以这个连续区间的材料必须满足以下 个要求:
- 这段连续区间必须是同一种材料
- 这段连续区间的前一个材料与后一个材料必须不相同。
例如,有一段材料为 ,则 区间的 和 区间的 均符合要求,而 区间的 不符合要求。
材料有灵性,所以材料会有变化。
现在有 吨材料, 个询问。每个询问是以下的 种形式之一:
A x y op
表示替换材料,将 到 区间内的材料替换为 , 为 三种材料字符中的一个。B x y
表示是否询问,即询问 到 区间内的材料是否合法,合法输出Yes
,不合法输出No
。
注意:当 或 时,你的程序不需要判断前后的情况,而只需要判断区间内的情况。
输入格式
- 第一行一个正整数 。
- 接下来 个字符,表示材料。
- 接下来 个询问,格式为上述的一种。
输出格式
对于每个 B x y
的询问,输出一行 Yes
或 No
。
15
AACBBABBBCCCBBB
3
B 4 5
B 5 5
B 10 12
Yes
Yes
No
5
ABBBB
2
B 1 4
B 2 5
No
Yes
提示
- 对于 的数据,
- 对于 的数据,
- 对于 的数据,$N\le5\cdot10^5,K\le5\cdot10^5, 1\leq x \leq y \leq N$