#860. 开关
开关
题目描述
区间开关切换 + 区间和 现有 n 盏灯排成一排,从左到右依次编号为:1,2,……,n。然后依次执行 m 项操作。 操作分为两种: 1、指定一个区间 [a,b],然后改变编号在这个区间内的灯的状态(把开着的灯关上,关着的灯打开); 2、指定一个区间 [a,b],要求你输出这个区间内有多少盏灯是打开的。 灯在初始时都是关着的。
输入格式
第一行有两个整数 n 和 m,分别表示灯的数目和操作的数目。 接下来有 m 行,每行有三个整数,依次为:c、a、b。其中 c 表示操作的种类。 当 c 的值为 0 时,表示是第一种操作。 当 c 的值为 1 时,表示是第二种操作。 a 和 b 则分别表示了操作区间的左右边界。
输出格式
每当遇到第二种操作时,输出一行,包含一个整数,表示此时在查询的区间中打开的灯的数目。
样例
输入样例 1
4 5
0 1 2
0 2 4
1 2 3
0 2 4
1 1 4
输出样例 1
1
2
输入样例 2
24 13
0 20 24
1 4 19
0 1 18
0 7 20
1 18 20
1 5 13
0 4 15
1 3 19
1 8 24
0 5 14
1 16 20
1 13 19
1 7 12
输出样例 2
0
1
2
11
13
1
2
0
输入样例 3
5 7
0 1 5
1 1 5
0 2 2
1 2 2
0 1 1
1 1 1
1 3 5
输出样例 3
5
0
0
3
提示
数据规模与约定:对于全部的测试点,保证 2≤n≤10^5 ,1≤m≤10^5 ,1≤a,b≤n,c∈{0,1}。