题目描述
给你一个长度为 n 的数列 a1,a2,…,an,初始时数列中的每个元素的数值均为 0。
接下来有 m 次操作,操作分为如下两种类型:
- 0 l r:将下标区间内的每个元素都取反(即对于任意 l≤i≤r,令 ai←1−ai)
- 1 l r:查询下标区间内存在多少个数值为 1 的元素(即计算 i=l∑rai)
输入格式
第一行,两个整数 n 和 m,分别表示数列长度即操作次数(1≤n,m≤105)。
接下来 m 行,每行包含一个操作(0 l r 或 1 l r,其中 1≤l≤r≤n)。
输出格式
对于每次查询操作,输出一行,包含一个整数,表示下标区间 [l,r] 范围内 1 的个数。
样例
4 5
0 1 2
0 2 4
1 2 3
0 2 4
1 1 4
1
2
说明/提示
数据规模与约定
- 对于 30% 的数据,n,m≤1000
- 对于 100% 的数据,n,m≤105