AT_agc074_e [AGC074E] Delete AB
题目描述
对于一个字符串 $X = X_1X_2\dots X_{|X|}$ 和正整数 $l, r~(1 \leq l \leq r \leq |X|)$,记 $X_{l,r} = X_l X_{l+1}\dots X_r$。
给定一个仅由 `A` 和 `B` 组成的字符串 $S = S_1S_2\dots S_{|S|}$。
你需要回答 $Q$ 个查询。对于每个查询,回答如下问题:
- 从状态 $T = S_{l,r}$ 开始,可以进行多次如下操作:“选择 $T$ 中出现的一处连续的 `AB` 并将其删除”。最终可以得到若干不同的字符串。
问通过若干步操作后,能够得到的回文字符串的最小可能长度是多少?如果无论如何操作都无法得到回文字符串,输出 $-1$。
输入格式
输入从标准输入读入,格式如下:
> $S$
> $Q$
> $\mathrm{Query}_1$
> $\mathrm{Query}_2$
> $\vdots$
> $\mathrm{Query}_Q$
其中 $\mathrm{Query}_q$ 表示第 $q$ 个查询,格式如下:
> $l \ r$
输出格式
输出共 $Q$ 行,第 $q$ 行输出对于 $\mathrm{Query}_q$ 的答案。
说明/提示
### 样例解释 1
对于第 1、2、3 个查询,进行如下操作可以得到最小长度的回文串:
- `ABBABB` $\rightarrow$ `ABBB` $\rightarrow$ `BB`
- `AB` $\rightarrow$ (空字符串)
- `BAB` $\rightarrow$ `B`
### 数据范围
- $1 \leq |S| \leq 4 \times 10^5$
- $1 \leq Q \leq 5 \times 10^4$
- $1 \leq l \leq r \leq |S|$
- $S$ 是只包含字母 `A` 和 `B` 的字符串。
- $Q, l, r$ 均为整数。
由 ChatGPT 5 翻译