1380 简单题 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1380

简单题

Easy 时间限制 1000 ms 内存限制 262144 KB
树状数组

题目详情

返回题库

题目描述

有一个 n  个元素的数组,每个元素初始均为 0 。有 m  条指令,要么让其中一段连续序列数字反转——0  变 1 ,1  变 0 (操作 1 ),要么询问某个元素的值(操作 2 )。

例如当 n=20  时,10  条指令如下:

操作回答操作后的数组
1 1 10N/A11111111110000000000
2 6111111111110000000000
2 12011111111110000000000
1 5 12N/A11110000001100000000
2 6011110000001100000000
2 15011110000001100000000
1 6 16N/A11110111110011110000
1 11 17N/A11110111111100001000
2 12111110111111100001000
2 6111110111111100001000

输入描述

第一行包含两个整数 n,m ,表示数组的长度和指令的条数;

以下 m  行,每行的第一个数 t  表示操作的种类:

若 t=1 ,则接下来有两个数 L,R ,表示区间 [L,R ] 的每个数均反转;

若 t=2 ,则接下来只有一个数 i ,表示询问的下标。

数据范围与提示:

对于 50% 的数据,$1 \leq n \leq 10^3,1 \leq m \leq 10^4 $;

对于 100% 的数据,$1 \leq n \leq 10^5,1 \leq m \leq 5 \times 10^5 $,保证$ L \leq  R  $。

输出描述

每个操作 2  输出一行(非 0  即 1 ),表示每次操作 2  的回答。

测试样例

样例支持多行内容展示
样例1
输入
20 10
1 1 10
2 6
2 12
1 5 12
2 6
2 15
1 6 16
1 11 17
2 12
2 6
输出
1
0
0
0
1
1
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。