#P2846. [USACO08NOV] Light Switching G

[USACO08NOV] Light Switching G

题目描述

农夫约翰试图让奶牛玩智力玩具来保持它们的敏锐。谷仓里的灯是较大的玩具之一。N(2≤N≤105)N (2 \le N \le 10^5) 个牛栏编号为 1…N1 \ldots N,每个牛栏上面都有一盏灯。起初所有的灯都关着。

共有 MM 次操作,分为两种。

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

输入格式

第 11 行: 用空格隔开的两个整数 NN 和 MM,NN 是灯数。

第 2…M+12\ldots M+1 行: 每行表示一个操作, 有三个用空格分开的整数: 指令号, SiS_i 和 EiE_i。

若指令号为 00,则表示改变 [Si,Ei][S_i,E_i] 区间内的灯的状态(把开着的灯关上,关着的灯打开)。

若指令号为 11,则表示输出 [Si,Ei][S_i,E_i] 这个区间内有多少盏灯是打开的。

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

提示

数据点编号 NN MM
1∼21\sim 2 ≤100\le 100
3∼43\sim 4 ≤1000\le 1000
5∼65\sim 6 ≤10000\le 10000
7∼87\sim 8 ≤105\le 10^5 ≤100\le 100
9∼109\sim 10 ≤100\le 100 ≤105\le 10^5
11∼1211\sim 12 ≤1000\le 1000
13∼1413\sim 14 ≤105\le 10^5 ≤1000\le 1000
15∼1615\sim 16 ≤10000\le 10000
17∼1817\sim 18 ≤10\le 10 ≤105\le 10^5
19∼2019\sim 20 ≤2000\le 2000 ≤106\le 10^6