AT_s8pc_2_h.Counting 1's
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 n 的数列。
我们会给出 Q 个查询,每个查询包含一个参数 qi。
- 如果 qi 为 1,则反转区间 li≤i<ri 内的所有位。
- 如果 qi 为 2,则计算并输出区间 li≤i<ri 内的 1 的个数。
请编写一个程序来处理这些查询。最初,该数列中的所有位都初始化为 0,并且位置从 0 开始编号。
例如,当 n=7,并且查询 qi,li,ri 如下表所示时,数列状态将会按照下述方式变化:
| 查询 {qi,li,ri} | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 输出 |
|---|---|---|---|---|---|---|---|---|
| {1,2,5} | 0 | 0 | 1 | 1 | 1 | 0 | 0 | - |
| {1,4,7} | 0 | 0 | 1 | 1 | 0 | 1 | 1 | - |
| {2,1,6} | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 3 |
| {1,0,4} | 1 | 1 | 0 | 0 | 0 | 1 | 1 | - |
| {2,3,7} | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 2 |
| {1,2,6} | 1 | 1 | 1 | 1 | 1 | 0 | 1 | - |
| {2,0,7} | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 6 |
因此,输出结果为:
3
2
6
输入格式
输入通过标准输入提供,格式如下:
n Q
q1 l1 r1
:
:
qQ lQ rQ
- 第一行包含两个整数,数列长度 n 和查询数量 Q,中间以空格分隔。
- 接下来的 Q 行中,每行提供三个整数 qi,li,ri,以空格分隔。
- qi 表示查询的类型,li,ri 分别表示该查询涉及的区间的左端和右端。
- 请注意,查询范围包括左端点 li,但不包括右端点 ri。
输出格式
对于每个查询 qi=2,输出区间 li≤i<ri 内的 1 的个数,每个结果占一行。
输入输出样例
输入#1
8 4 1 3 7 2 2 5 1 2 4 2 1 6
输出#1
2 3
输入#2
5 3 1 0 3 1 2 5 2 1 4
输出#2
2
输入#3
7 7 2 3 4 1 4 6 2 1 5 1 0 7 1 2 5 2 0 7 1 2 3
输出#3
0 1 4
说明/提示
- 1≤n,Q≤100,000
- 0≤li<ri≤n
- 1≤qi≤2
子任务
子任务 1 [4 分]
- 满足 1≤n,Q≤1,000。
子任务 2 [12 分]
- 输出查询的总数量不超过 1,000 个。
子任务 3 [36 分]
- 所有输出查询都要求 li,ri 为 0,n 组合。
子任务 4 [48 分]
- 没有附加限制。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?