#P0979. 黑白区间

黑白区间

题目描述

有一个无限长的一维数轴,初始时整根数轴都是白色的。你需要处理 QQ 次操作,操作类型如下:

  • 11 LL RR:将闭区间 [L,R][L,R] 涂成黑色(已经涂黑的区间不受影响,黑色会覆盖白色)。
  • 22 LL RR:将闭区间 [L,R][L,R] 擦除成白色(即清除该区间内的黑色,白色会覆盖黑色)。
  • 33:查询当前所有黑色区间的总长度。一个闭区间 [a,b][a,b] 的长度定义为 ba+1b-a+1

输入格式

第一行一个整数 QQ

接下来 QQ 行,每行一个操作,格式如上。

输出格式

对于每个操作 33,输出一行一个整数,表示当前黑色总长度。

样例

8
1 1 5
3
1 8 10
3
2 3 4
3
2 1 10
3
5
8
6
0

样例解释

涂黑 [1, 5][1,\ 5],黑色总长 55

涂黑 [8, 10][8,\ 10],黑色区间 [1, 5][1,\ 5][8, 10][8,\ 10],总长 5+3=85+3=8

擦除 [3, 4][3,\ 4],原来 [1, 5][1,\ 5] 被分裂成 [1, 2][1,\ 2][5, 5][5,\ 5],黑色区间 {[1, 2], [5, 5], [8, 10]}\{[1,\ 2],\ [5,\ 5],\ [8,\ 10]\},总长 2+1+3=62+1+3=6

擦除 [1, 10][1,\ 10],所有黑色被清除,总长 00

数据范围

对于 30%30\% 的数据,1Q10001\le Q\le 10001LR10001\le L\le R\le 1000

对于 100%100\% 的数据,1Q2×1051 \le Q \le 2 \times 10^5109LR109-10^9 \le L\le R \le 10^9