logo AlgoBeat OnlineJudge
登录 注册

#101858. [BZOJ 1858] [Scoi2010]序列操作

内存限制:64 MiB 时间限制:10000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

lxhgww 最近收到了一个 序列,序列里面包含了 个数,这些数要么是 ,要么是 ,现在对于这个序列有五种变换操作和询问操作:

  • 0 a b 区间内的所有数全变成
  • 1 a b 区间内的所有数全变成
  • 2 a b 区间内的所有数全部取反,也就是说把所有的 变成 ,把所有的 变成
  • 3 a b 询问 区间内总共有多少个
  • 4 a b 询问 区间内最多有多少个连续的

对于每一种询问操作,lxhgww 都需要给出回答,聪明的程序员们,你们能帮助他吗?

输入格式

第一行两个正整数 ,表示序列长度与操作个数。

第二行包括 个数,表示序列的初始状态。

接下来 行,每行三个整数,表示一次操作。

输出格式

对于每一个询问操作,输出一行一个数,表示其对应的答案。

样例

样例

样例输入 #1

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

样例输出 #1

5
2
6
5

数据范围与提示

对于 的数据,。 对于 的数据,

[SCOI2010]Day2