「FAOI-R5」datealive

题目背景

![](https://cdn.luogu.com.cn/upload/image_hosting/kidxx2qe.png) ![](https://cdn.luogu.com.cn/upload/image_hosting/is31j7j7.png)

题目描述

给定长度为 $n$ 的序列 $c_1,c_2,\cdots,c_n$,$c_i\in\{0,1\}$。序列中每个元素都对应一个括号,若 $c_i=0$ 则该位置上的括号是左括号,若 $c_i=1$ 则该位置上的括号是右括号。 我们用 $f(l,r)$ 表示区间 $[l,r]$ 内的括号序列是否合法。若 $c_l,c_{l+1},\cdots,c_r$ 组成的括号序列合法则为 $f(l,r)=1$,否则则为 $f(l,r)=0$。 合法括号序列的定义: - 空串是合法括号序列; - 若 `A` 是合法括号序列,`(A)` 是合法括号序列; - 若 `A` 和 `B` 是合法括号序列,`AB` 是合法括号序列。 你需要**在线地**执行 $q$ 次操作,分为两种: - `1 l r`,查询 $\max\limits_{[l',r']\in[l,r]}\{(r'-l'+1)\cdot f(l',r')\}$,即查询 $[l,r]$ 间的最长合法括号子串的长度。 - `2 l r`,对于 $i\in[l,r]$,将 $c_i$ 修改为 $(1-c_i)$,即将 $[l,r]$ 间的括号逐个调转方向。

输入输出格式

输入格式


第一行两个正整数 $n,q$,分别代表序列长度和操作次数。 接下来 $n$ 个非负整数 $c_1,c_2\cdots,c_n$,代表初始序列。 接下来 $q$ 行,每行三个正整数 $op,l',r'$,表示操作类型和加密后的 $l,r$。 为了强制在线,数据经过加密,我们通过如下过程解密:记 $p$ 为上次查询操作的答案,没有则为 $0$。$l=((l'+p)\bmod n)+1,r=((r'+p)\bmod n)+1$,若 $l>r$ 则交换 $l,r$。 $op,l,r$ 表示操作的三个参数,若 $op=1$ 表示题面中的 `1 l r` 操作;若 $op=2$ 表示题面中的 `2 l r` 操作。

输出格式


对于每次查询,输出一行一个非负整数表示查询的答案。

输入输出样例

输入样例 #1

10 10
0 1 1 0 0 1 0 0 1 1 
2 7 8
2 10 5
2 5 1
2 7 6
2 7 1
2 4 5
2 3 4
1 5 2
1 4 1
1 7 7

输出样例 #1

4
2
0

输入样例 #2

20 20
0 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 
2 16 7
2 12 10
1 4 5
1 14 7
1 16 7
2 15 12
1 12 2
1 3 4
1 1 10
2 14 3
2 19 1
1 20 9
2 14 16
1 10 13
1 6 8
2 1 2
1 8 16
1 9 15
1 17 12
2 15 14

输出样例 #2

0
2
8
2
0
2
6
4
0
2
0
0

说明

### 样例 1 解释 解密后的结果如下: ``` 10 10 0 1 1 0 0 1 0 0 1 1 2 8 9 2 1 6 2 2 6 2 7 8 2 2 8 2 5 6 2 4 5 1 3 6 1 6 9 1 10 10 ``` $7$ 次修改后的括号串为 $)((())()()$。 - 对于第一组询问,截取子串 $[3,6]$ 得 $(())$。整个子串是合法的括号序列,故答案为 $6-3+1=4$。 - 对于第二组询问,截取子串 $[6,9]$ 得 $)()($。子串 $[7,8]$ 是其中最长的合法括号子串,故答案为 $8-7+1=2$。 - 对于第三组询问,截取子串 $[10,10]$ 得 $)$。该子串中合法括号子串为空串,故答案为 $0$。 ### 数据规模与约定 **本题采用捆绑测试。** | Subtask 编号 | $n \le$ | $q \le$ | 分值 | 特殊性质 | | :----------: | :----------: | :----------: | :----------: | :----------: | | $1$ | $100$ | $100$ | $10$ | × | | $2$ | $2 \times 10^4$ | $2 \times 10^4$ | $10$ | × | | $3$ | $4 \times 10^6$ | $10^5$ | $20$ | $\checkmark$ | | $4$ | $10^5$ | $10^5$ | $30$ | × | | $5$ | $4 \times 10^6$ | $10^5$ | $30$ | × | 特殊性质:保证没有修改操作。 对于所有数据,$1 \le n\le 4 \times 10^6$,$1\le q \le 10^{5}$,$1 \le l',r' \le n$,$op\in\{1,2\}$,$c_i\in\{0,1\}$。 本题除 Subtask #3 外保证操作类型随机生成,即每次选择一个 $\{1,2\}$ 中的随机数(选到 $1$ 和 $2$ 的概率均为 $50\%$)作为 $op$。 本题题目附件附有大样例。