#aBC341E. [ABC341E] Alternating String
[ABC341E] Alternating String
AT_abc341_e [ABC341E] Alternating String
题目描述
我们称仅由 0 和 1 组成,且字符串中任意连续的 个字符都不相同的字符串为好字符串。
给定一个长度为 的仅由 0 和 1 组成的字符串 。有 个查询,请依次处理每个查询。
查询有以下两种类型:
1 L R:将 的第 个字符到第 个字符的0和1反转。即,对于满足 的整数 ,如果 的第 个字符为0,则变为1,如果为1,则变为0。2 L R:取出 的第 个字符到第 个字符(顺序不变)组成一个长度为 的字符串 。如果 是好字符串,则输出Yes,否则输出No。
输入格式
输入按以下格式从标准输入给出。
每个查询 为以下两种形式之一:
或
输出格式
设第 种类型的查询有 个,请输出 行。
第 行输出第 个第 种类型查询的结果。
输入输出样例 #1
输入 #1
5 6
10100
2 1 3
2 1 5
1 1 4
2 1 5
1 3 3
2 2 4
输出 #1
Yes
No
Yes
No
输入输出样例 #2
输入 #2
1 2
1
1 1 1
2 1 1
输出 #2
Yes
说明/提示
限制条件
- 是长度为 的仅由
0和1组成的字符串 - 对于两种类型的查询,
- 至少存在一个第 种类型的查询
- 、、、 均为整数
样例解释 1
初始时,10100。依次处理每个查询如下:
- 对于第 个查询,取出 的第 到第 个字符,得到
101。这是好字符串,输出Yes。 - 对于第 个查询,取出 的第 到第 个字符,得到
10100。这不是好字符串,输出No。 - 对于第 个查询,将 的第 到第 个字符的
0和1反转。此时01010。 - 对于第 个查询,取出 的第 到第 个字符,得到
01010。这是好字符串,输出Yes。 - 对于第 个查询,将 的第 个字符的
0和1反转。此时01110。 - 对于第 个查询,取出 的第 到第 个字符,得到
111。这不是好字符串,输出No。
样例解释 2
注意,仅由 0 或 1 组成的长度为 的字符串也满足好字符串的条件。
由 ChatGPT 4.1 翻译