#L0694. 灯阵翻转与查询

灯阵翻转与查询

题目描述

教室里有一排 nn 盏指示灯,从左到右依次编号为 1,2,,n1, 2, \ldots, n。老师通过控制台执行 mm 条指令。

指令分为两种:

  1. 给定区间 [a,b][a, b],将编号在该区间内的所有灯的状态取反(亮着的熄灭,熄灭的点亮);
  2. 给定区间 [a,b][a, b],查询该区间内亮着的灯的数量。

初始时所有灯均为熄灭状态。

输入格式

第一行包含两个整数 nnmm,分别表示灯的数目和指令的数目。

接下来 mm 行,每行三个整数 c,a,bc, a, b,描述一条指令。

  • c=0c = 0 时执行第一种指令(区间取反);
  • c=1c = 1 时执行第二种指令(区间查询)。

aabb 为操作区间的左右端点。

输出格式

每执行一条第二种指令时,输出一行一个整数,表示查询区间内亮着的灯的数量。

样例

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

2

</p>

提示

数据规模与约定

对于全部测试点,保证 2n1052 \le n \le 10^51m1051 \le m \le 10^51a,bn1 \le a, b \le nc{0,1}c \in \{0, 1\}

难度 普及
通过率
尝试 0
已通过 0
ID
1422
类型
传统题
Time Limit
1000ms
Memory Limit
125MiB
上传者