AT_arc203_d [ARC203D] Insert XOR
题目描述
有一个由 $0$ 和 $1$ 组成的长度为 $N$ 的整数序列 $A=(A_1,A_2,\dots,A_N)$。现在有 $Q$ 个查询。第 $q$ 个查询如下:
- 给定一个 $1$ 到 $N$ 之间的整数 $i_q$。将 $A_{i_q}$ 的值从 $0$ 变为 $1$,或从 $1$ 变为 $0$。
每处理完一个查询后,请回答以下问题:
> 考虑所有满足下述条件的 $0$ 和 $1$ 组成的数列 $B=(B_1,B_2,\dots,B_{|B|})$:
>
> - 可以对 $B$ 进行任意次如下操作,使其变为序列 $A$:
> - 选择一个 $1$ 到 $|B|-1$ 之间的整数 $i$。
> - 在 $B_i$ 和 $B_{i+1}$ 之间插入 $B_i\oplus B_{i+1}$。
>
> 总是存在满足条件的 $B$。请输出所有可能的 $|B|$ 的最小值。
输入格式
输入按以下格式从标准输入读入:
> $N$ $A_1$ $A_2$ $\dots$ $A_N$ $Q$ $i_1$ $i_2$ $\vdots$ $i_Q$
输出格式
请输出共 $Q$ 行答案。第 $q$ 行输出处理完第 $q$ 个查询后的问题答案。
说明/提示
### 数据范围
- $3 \leq N \leq 2 \times 10^5$
- $0 \leq A_i \leq 1$
- $1 \leq Q \leq 5 \times 10^5$
- $1 \leq i_q \leq N$
- 输入的所有数均为整数
### 样例解释 1
当 $A=(1,0,0)$ 时,$|B|$ 取 $B=(1,0,0)$ 时最小。
当 $A=(1,1,0)$ 时,$|B|$ 取 $B=(1,0)$ 时最小。
由 ChatGPT 4.1 翻译