AT_abc411_c [ABC411C] Black Intervals
题目描述
一排有 $N$ 个格子,初始时所有格子均为白色。
你需要依次处理 $Q$ 个查询。第 $i$ 个查询会给出一个整数 $A_i$,并执行以下操作:
翻转从左数第 $A_i$ 个格子的颜色。具体来说,如果该格子当前为白色,则将其涂黑;如果当前为黑色,则将其涂白。之后,统计当前所有连续的黑色格子区间的数量。
这里,连续的黑色格子区间是指满足以下所有条件的整数对 $(l, r)$($1 \le l \le r \le N$):
- 从左数第 $l$ 到第 $r$ 个格子均为黑色;
- $l = 1$,或者从左数第 $(l − 1)$ 个格子为白色;
- $r = N$,或者从左数第 $(r + 1)$ 个格子为白色。
输入格式
第一行为 $N,Q$,表示格子的个数和询问数。
接下来 $Q$ 个数 $A_1,A_2,A_3 \dots A_Q$,表示每一个询问的参数。
输出格式
输出 $Q$ 行。对于第 $i$ 行,为第 $i$ 个询问的答案。
说明/提示
**样例解释#1**
以下将从左数第 $i$ 个格子简称为格子 $i$。
每次查询后的状态如下:
第 $1$ 次查询后:仅格子 $2$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(2,2)$。
第 $2$ 次查询后:格子 $2$、$3$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(2,3)$。
第 $3$ 次查询后:仅格子 $2$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(2,2)$。
第 $4$ 次查询后:格子 $2、5$ 被涂黑。存在 $2$ 个连续黑色区间:$(l,r)=(2,2)$ 和 $(l,r)=(5,5)$。
第 $5$ 次查询后:格子 $1、2、5$ 被涂黑。存在 $2$ 个连续黑色区间:$(l,r)=(1,2)$ 和 $(l,r)=(5,5)$。
第 $6$ 次查询后:仅格子 $1、2$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(1,2)$。
第 $7$ 次查询后:仅格子 $1$ 被涂黑。存在 $1$ 个连续黑色区间:$(l,r)=(1,1)$。
因此,输出应为换行分隔的序列:
> $1$
> $1$
> $1$
> $2$
> $2$
> $1$
> $1$
>
**数据范围**
对于 $100\%$ 的数据保证:
- $1 \le N,Q \le 5×10^5$;
- $1 \le A_i \le N$;
- 读入的所有数都是整数。