#lg3870. C25_3*【线段树】[USACO08NOV] Light Switching G | [TJOI2009] 开关

C25_3*【线段树】[USACO08NOV] Light Switching G | [TJOI2009] 开关

题目描述

现有 nn 盏灯排成一排,从左到右依次编号为:1122,……,nn。然后依次执行 mm 项操作。

操作分为两种:

  1. 指定一个区间 [a,b][a,b],然后改变编号在这个区间内的灯的状态(把开着的灯关上,关着的灯打开);
  2. 指定一个区间 [a,b][a,b],要求你输出这个区间内有多少盏灯是打开的。

灯在初始时都是关着的。

输入格式

第一行有两个整数 nnmm,分别表示灯的数目和操作的数目。

接下来有 mm 行,每行有三个整数,依次为:ccaabb。其中 cc 表示操作的种类。

  • cc 的值为 00 时,表示是第一种操作。
  • cc 的值为 11 时,表示是第二种操作。

aabb 则分别表示了操作区间的左右边界。

输出格式

每当遇到第二种操作时,输出一行,包含一个整数,表示此时在查询的区间中打开的灯的数目。

输入输出样例 #1

输入 #1

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

输出 #1

1
2

说明/提示

数据规模与约定

数据点编号 NN MM
121\sim 2 100\le 100
343\sim 4 1000\le 1000
565\sim 6 10000\le 10000
787\sim 8 105\le 10^5 100\le 100
9109\sim 10 100\le 100 105\le 10^5
111211\sim 12 1000\le 1000
131413\sim 14 105\le 10^5 1000\le 1000
151615\sim 16 10000\le 10000
171817\sim 18 10\le 10 105\le 10^5
192019\sim 20 2000\le 2000 106\le 10^6