题目 1993

开关switch

查看题解 ↗GitHub ↗如何评测
题号
1993
时间限制
1000 ms
内存限制
128 MB
来源
信息学奥赛一本通 · 算法提高篇

开关switch

时间限制: 1000 ms 内存限制: 131072 KB

【题目描述】

现有 N(2 ≤ N ≤ 100000)盏灯排成一排,从左到右依次编号为:1,2,…,N。然后依次执行 M(1 ≤ M ≤ 100000)项操作,操作分为两种:第一种操作指定一个区间 [a,b],然后改变编号在这个区间内的灯的状态(把开着的灯关上,关着的灯打开);第二种操作是指定一个区间 [a,b],要求你输出这个区间内有多少盏灯是打开的。灯在初始时都是关着的。

【输入】

第一行有两个整数 N 和 M,分别表示灯的数目和操作的数目。接下来有 M 行,每行有三个整数,依次为:c, a, b。其中 c 表示操作的种类,当 c 的值为 0 时,表示是第一种操作;当 c 的值为 1 时表示是第二种操作。a 和 b 则分别表示了操作区间的左右边界(1 ≤ a ≤ b ≤ N)。

【输出】

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

【输入样例】

文本
4 5
0 1 2
0 2 4
1 2 3
0 2 4
1 1 4

【输出样例】

文本
1
2

题面来源:https://www.cnblogs.com/lyc-lb-blogs/p/14969883.html (信息学奥赛一本通(C++版)第 4 部分 数据结构(提高篇)第 3 章 线段树 1993:开关switch,完整转录原站题面,含时间限制 1000 ms、内存限制 131072 KB 与数据范围 2≤N≤100000、1≤M≤100000;多引擎检索仅此一份完整题面,未能获取第二来源逐字核对)

数据下载

题目 1993 的公开数据

正在读取文件列表…

常用命令

题目 1993 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。