已结束 GESP挑战赛#24
← 上一题 下一题 →

A5444 | 午枫的字符串反转

时间限制2s
内存限制512MB
通过 / 提交0/0

题目描述

小午认为一个字符串中,如果只由 $0$ 和 $1$ 组成,并且字符串中任意连续的 $2$ 个字符都不相同的字符串是好字符串

现在小午有一个长度为 $n$ 且只由 $0$ 和 $1$ 组成的字符串 $s$ 。他将依次对小枫进行 $q$ 次查询,每个查询有以下两种方式:

- 1 L R :将 $s$ 的第 $L$ 个字符到第 $R$ 个字符的 $0$ 和 $1$ 反转。即对于满足 $L\leq i\leq R$ 的整数 $i$,如果 $s$ 的第 $i$ 个字符为 $0$,则变为 $1$,如果为 $1$,则变为 $0$ 。
- 2 L R :取出 $s$ 的第 $L$ 个字符到第 $R$ 个字符(顺序不变)组成一个长度为 $R-L+1$ 的字符串 $S'$。如果 $S'$ 是好字符串,则输出 Yes,否则输出 No

输入格式

第一行输入两个整数 $n,q$ $(1\leq n,q\leq 5\times10^5)$ ,分别表示字符串的长度以及询问次数。

第二行输入一个长度为 $n$ 的字符串 $s$ ,保证字符串中只包含 01 两种字符。

接下来 $q$ 行,每行输入一个查询,每个查询为以下两种形式之一:

1 L R2 L R ,其中 $1\leq L \leq R \leq n$ ,保证至少存在一个类型 $2$ 的查询。含义见题面所示。

输出格式

设第 $2$ 种类型的查询有 $K$ 个,请输出 $K$ 行。

第 $i$ 行输出第 $i$ 个第 $2$ 种类型查询的结果。

输入输出样例

输入 #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
1 2
1
1 1 1
2 1 1
输出 #2
Yes
C++ 编辑器
输入
输出