AT_agc074_e.[AGC074E] Delete AB

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于一个字符串 X=X1X2…X∣X∣X = X_1X_2\dots X_{|X|} 和正整数 l,r (1≤l≤r≤∣X∣)l, r~(1 \leq l \leq r \leq |X|),记 Xl,r=XlXl+1…XrX_{l,r} = X_l X_{l+1}\dots X_r。

给定一个仅由 A 和 B 组成的字符串 S=S1S2…S∣S∣S = S_1S_2\dots S_{|S|}。
你需要回答 QQ 个查询。对于每个查询,回答如下问题:

  • 从状态 T=Sl,rT = S_{l,r} 开始,可以进行多次如下操作:“选择 TT 中出现的一处连续的 AB 并将其删除”。最终可以得到若干不同的字符串。
    问通过若干步操作后,能够得到的回文字符串的最小可能长度是多少?如果无论如何操作都无法得到回文字符串,输出 −1-1。

输入格式

输入从标准输入读入,格式如下:

SS
QQ
Query1\mathrm{Query}_1
Query2\mathrm{Query}_2
⋮\vdots
QueryQ\mathrm{Query}_Q

其中 Queryq\mathrm{Query}_q 表示第 qq 个查询,格式如下:

l rl \ r

输出格式

输出共 QQ 行,第 qq 行输出对于 Queryq\mathrm{Query}_q 的答案。

输入输出样例

  • 输入#1

    ABBABB
    5
    1 6
    4 5
    3 5
    2 3
    3 4

    输出#1

    2
    0
    1
    2
    -1

说明/提示

样例解释 1

对于第 1、2、3 个查询,进行如下操作可以得到最小长度的回文串:

  • ABBABB →\rightarrow ABBB →\rightarrow BB
  • AB →\rightarrow (空字符串)
  • BAB →\rightarrow B

数据范围

  • 1≤∣S∣≤4×1051 \leq |S| \leq 4 \times 10^5
  • 1≤Q≤5×1041 \leq Q \leq 5 \times 10^4
  • 1≤l≤r≤∣S∣1 \leq l \leq r \leq |S|
  • SS 是只包含字母 A 和 B 的字符串。
  • Q,l,rQ, l, r 均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页