#51059. 命运

    ID: 51059 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>提高T3离散化和哈希题单线段树和树状数组提高题单线段树哈希魔扣OJ

命运

暂无测试数据。

蒜头有一排长度为 $n$ 的棋堆,第 $i$ 个位置堆着 $a_i$ 个棋子。

蒜头不愿命运成为被摆弄的棋子,于是她可以更改区间 $a_l,\ldots ,a_r$ 内棋堆的堆放方案,有两种方式:

  1. 对于第 $i(1<i<n)$ 堆棋子,如果 $a_{i-1}+a_i+a_{i+1}$ 为偶数,且 $a_i$ 为奇数,可以交换 $a_{i-1},a_{i+1}$。
  2. 对于任意两堆棋子 $a_x,a_y$,如果 $a_x+a_y$ 为偶数,则可以将 $a_x,a_y$ 变成 $a_x+k,a_y-k$,满足 $k$ 是偶数且 $k\leq\min(a_x,a_y)$。

由于命运收到了若干变数的影响,初始序列 $\{a_n\}$ 可能会发生变化。

现在蒜头给定你 $m$ 个操作,操作有两种:

  1. 给定 $l,r,x$,询问子序列 $a_l,\ldots ,a_{l+x}$ 能否更改为子序列 $a_r,\ldots ,a_{r+x}$,输出 YesNo
  2. 给定 $x$,交换初始序列 $a_x,a_{x+1}$,满足 $x<n$。

输入格式

输入共 $m+2$ 行。

第 $1$ 行输入 $2$ 个正整数 $n,m$。

第 $2$ 行输入 $n$ 个非负整数 $a_i$。

接下来输入共 $m$ 行,每行先输入操作编号 $op$,$op=1$ 输入 $3$ 个正整数 $l,r,x$,否则输入 $x$。

输出格式

输出若干行,第 $i$ 行输出一个字符串 YesNo,代表第 $i$ 个操作 1 的答案。

数据范围

对于所有数据,$n,m,l,r,x\leq 10^5$,$a_i\leq 100$。数据点设置如下:

数据编号$n$$m$特殊限制
1,2,3$\leq 10$$\leq 10$$a_i\in \{0,1\}$
4,5$\leq 200$$\leq 50$不存在操作 2
6,7$\leq 200$$\leq 200$
8,9,10$\leq 10^3$$\leq 10^3$
11,12,13$\leq 10^5$$\leq 10^3$
14,15$\leq 5\times 10^4$$\leq 5\times 10^4$
16,17$\leq 10^5$$\leq 10^5$$a_i\in \{0,1\}$
18,19$\leq 10^5$$\leq 10^5$不存在操作 2
20,21$\leq 10^5$$\leq 10^5$操作 2 都在操作 1 前
22,23,24,25$\leq 10^5$$\leq 10^5$
11 14
2 3 0 4 2 6 1 4 6 7 1
1 2 5 4
1 10 2 1
1 5 3 5
1 2 9 2
1 5 3 1
1 2 3 6
2 2
2 3
2 4
2 5
2 7
2 6
1 7 9 3
1 7 8 3
No
Yes
No
No
Yes
No
Yes
No