P2572 [SCOI2010] 序列操作
题目描述
lxhgww 最近收到了一个 $01$ 序列,序列里面包含了 $n$ 个数,下标从 $0$ 开始。这些数要么是 $0$,要么是 $1$,现在对于这个序列有五种变换操作和询问操作:
- `0 l r` 把 $[l, r]$ 区间内的所有数全变成 $0$;
- `1 l r` 把 $[l, r]$ 区间内的所有数全变成 $1$;
- `2 l r` 把 $[l,r]$ 区间内的所有数全部取反,也就是说把所有的 $0$ 变成 $1$,把所有的 $1$ 变成 $0$;
- `3 l r` 询问 $[l, r]$ 区间内总共有多少个 $1$;
- `4 l r` 询问 $[l, r]$ 区间内最多有多少个连续的 $1$。
对于每一种询问操作,lxhgww 都需要给出回答,聪明的程序员们,你们能帮助他吗?
输入格式
无
输出格式
无
说明/提示
【数据范围】
对于 $30\%$ 的数据,$1\le n,m \le 1000$;
对于$100\%$ 的数据,$1\le n,m \le 10^5$。