#P2846. [USACO08NOV] Light Switching G

[USACO08NOV] Light Switching G

题目描述

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

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

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

输入格式

11 行: 用空格隔开的两个整数 NNMMNN 是灯数。

2M+12\ldots M+1 行: 每行表示一个操作, 有三个用空格分开的整数: 指令号, SiS_iEiE_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
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