AT_abc417_g [ABC417G] Binary Cat
题目描述
定义字符串 $S_0,S_1$,其中 $S_0=$ `0`,$S_1=$ `1`。
给定 $Q$ 个查询,请依次处理每个查询。
对于第 $i$ 个查询 $(1\leq i\leq Q)$,给出三个整数 $(L_i,R_i,X_i)$。
> 将 $S_{L_i}$ 和 $S_{R_i}$ 按顺序连接,得到字符串 $S_{i+1}$。然后,求出 $S_{i+1}$ 的第 $X_i$ 个字符。
>
> 保证 $X_i$ 不会超过 $S_{i+1}$ 的长度。
输入格式
输入以如下格式从标准输入给出。
> $Q$
> $L_1$ $R_1$ $X_1$
> $L_2$ $R_2$ $X_2$
> $\vdots$
> $L_Q$ $R_Q$ $X_Q$
输出格式
输出 $Q$ 行。第 $i$ 行输出第 $i$ 个查询的答案。
说明/提示
### 限制条件
- $1\leq Q\leq 5\times 10^5$
- $0\leq L_i,R_i\leq i$
- $1\leq X_i\leq 10^{18}$
- $X_i$ 不会超过 $S_{i+1}$ 的长度
- 所有输入均为整数
### 样例解释 1
每个查询的处理如下:
- 第 1 个查询,将 $S_0=$`0` 和 $S_1=$`1` 连接,得到 $S_2=$`01`。$S_2$ 的第 1 个字符是 `0`,因此第 1 行输出 $0$。
- 第 2 个查询,将 $S_0=$`0` 和 $S_0=$`0` 连接,得到 $S_3=$`00`。$S_3$ 的第 2 个字符是 `0`,因此第 2 行输出 $0$。
- 第 3 个查询,将 $S_1=$`1` 和 $S_1=$`1` 连接,得到 $S_4=$`11`。$S_4$ 的第 1 个字符是 `1`,因此第 3 行输出 $1$。
- 第 4 个查询,将 $S_2=$`01` 和 $S_3=$`00` 连接,得到 $S_5=$`0100`。$S_5$ 的第 2 个字符是 `1`,因此第 4 行输出 $1$。
- 第 5 个查询,将 $S_2=$`01` 和 $S_4=$`11` 连接,得到 $S_6=$`0111`。$S_6$ 的第 3 个字符是 `1`,因此第 5 行输出 $1$。
- 第 6 个查询,将 $S_5=$`0100` 和 $S_4=$`11` 连接,得到 $S_7=$`010011`。$S_7$ 的第 2 个字符是 `1`,因此第 6 行输出 $1$。
- 第 7 个查询,将 $S_6=$`0111` 和 $S_7=$`010011` 连接,得到 $S_8=$`0111010011`。$S_8$ 的第 6 个字符是 `1`,因此第 7 行输出 $1$。
由 ChatGPT 4.1 翻译