[LnOI2019] 真正的 OIer 从不女装
题目背景
题目提供者:朝田诗乃
众所周知,女装只有零次和无数次。
题目描述
给定一个长度为 $n$ 的序列 $a$。
有如下定义:若一个序列中所有数字都一样,那么这个序列被称作“诗乃序列”。
对于每次询问,给定 $l$ 和 $r$,求序列 $a$ 中**左右端点都在 $[l,r]$ 中**的最长“诗乃序列”长度。
这题难倒了 Abbi。Abbi 决定女装。当 Abbi 女装时,序列会出现神奇的变化:它可以**在询问的区间 $[l,r]$ 中**挑一个它喜欢的位置 $p$,将区间 $[l,p]$ 和 $(p,r]$ **分别**翻转。
Abbi 想知道,**最多**进行 $k$ 次女装后(可选择进行不足 $k$ 次或不进行女装),能得到的最长的“诗乃序列”的长度是多少?
输入输出格式
输入格式
第一行,$n$、$m$,表示序列长度和操作个数。
第二行,$n$ 个数,第$i$个数表示序列初始值 $a_i$。
接下来 $m$ 行,每行描述一个操作,格式如下:
1. $R$ $l$ $r$ $x$:表示将区间 $[l,r]$ 上的数字全部变成 $x$。
2. $Q$ $l$ $r$ $k$:表示询问在 $[l,r]$ 中进行最多 $k$ 次女装所能得到的最长“诗乃序列”长度。
**注意:询问独立,即每次询问后会将序列复原,不实际执行反转操作。**
输出格式
对于每个 Q 操作,输出询问答案。
输入输出样例
输入样例 #1
10 4
3 3 3 3 2 3 3 3 2 2
Q 1 6 1
Q 1 6 0
R 8 8 2
Q 5 10 1
输出样例 #1
5
4
4
说明
**时空限制**:1s/512MB。
**数据范围:**
- 对于 $20\%$ 的数据,$1 ≤ n,m ≤ 100$。
- 对于另外 $10\%$ 数据,所有询问的 $k=0$。
- 对于另外 $10\%$ 数据,没有 R 操作。
- 对于 $100\%$ 的数据,$1≤n,m≤200000$,$0≤k≤1000$,$1≤a_i,x≤10^9$,$1≤l≤r≤n$。
特殊限制:对于后 $80\%$ 的数据,保证能卡飞 ODT。
**样例解释:**
对于第一次询问,询问的区间为:
```
3 3 3 3 2 3
```
女装 $1$ 次,将区间 $[1,4]$ 和 $[5,6]$ 分别翻转,得到:
```
3 3 3 3 3 2
```
此时可得到最长“诗乃序列”,长度为 $5$。可以证明没有别的女装方法能得到更长的“诗乃序列”。
此后询问以此类推。
**建议使用读入优化。**