Logo 邂逅编程之美

UOJ

时间限制:1 s 空间限制:512 MB
统计

下发文件

给定一个长度为 $n$ 的 $01$ 序列 $a_1,a_2,\dots,a_n$。

定义一个序列 $a_1,a_2,\dots$ 的游戏为:

假设当前序列长度为 $m$,可以选择一个位置 $i$,要求 $a_i=1$,然后删去 $a_{m-i+1}$,之后序列长度变为 $m-1$。

定义多个序列组成的游戏为:

先后手交替操作,每次操作可以任选一个可以进行操作的序列操作任意次,不能操作者

有 $m$ 次修改或者询问,每次给定参数 $opt$ 表示当前为修改还是询问:

  • $opt=1:$ 再给定 $x,y$,表示将区间 $[x,y]$ 内每个数都取反。
  • $opt=2$:再给定 $k$ 和 $k$ 个区间 $[l_1,r_1],[l_2,r_2],\dots,[l_k,r_k]$,拿出这些区间组成的 $k$ 个序列进行游戏,询问先手是否能获胜,若能获胜则输出 Yes,否则输出 No

注意:游戏不影响原序列,每个区间拿出来之后就独立了,不影响其他区间。

输入格式

第一行,两个正整数 $n,q$。

第二行,$n$ 个整数,代表序列 $a$。

接下来共有 $q$ 次修改或询问:

  • 如果 $opt=1$,同一行接下来两个正整数 $x,y$,含义如题目描述中所述。

  • 如果 $opt=2$,同一行一个正整数 $k$;接下来 $k$ 行,每行两个正整数 $l_i,r_i$,含义如题目描述中所述。

输出格式

若干行,表示答案。

样例 #1

样例输入 #1

3 3
1 0 1 
1 3 3
2 2
1 1
1 3
2 1
1 1

样例输出 #1

Yes
Yes

样例 #2

样例输入 #2

5 5
0 1 1 1 1 
1 1 5
2 2
4 5
4 4
1 3 5
1 4 4
2 2
1 2
3 4

样例输出 #2

No
No

提示

测试点编号 $n,m\leq$ 特殊限制
$1$ $5$ $k\le 2$
$2\sim 3$ $10^3$ $k\leq 10$
$4$ $k=1$
$5$ $l_i=r_i$
$6$ $2$ 操作都在 $1$ 操作之后
$7\sim10$

对于 $100\%$ 的数据,$0

每个测试点等分。