首页 > 试题广场 >

01序列2

[编程题]01序列2

给定一个全为0或者1的序列

这个序列为一个长度为n的左边为高位的二进制串

m次操作两种类型

1.     输入一个数x 表示第x位取反

2.     输入两个数l,r 表示查询区间lr内有多少连续子区间在二进制下是3的倍数


输入描述:
第一行n m
第二行n个数每个数为0或者1表示序列
接下来m行每行输入一个数op
如果op为1则执行1操作,否则执行2操作


输出描述:
对于每个2操作输出一个数表示答案
示例1

输入

5 5
0 1 1 1 0
2 2 5
1 4
2 1 4
1 5
2 3 5

输出

4
6
1

备注:
n<=5e5
m<=5e5

这道题你会答吗?花几分钟告诉大家答案吧!