#P13855. [mujin_pc2017]Robot and String

[mujin_pc2017]Robot and String

题目描述

你正在开发一个处理字符串的机器人。给这个机器人一个只由小写英文字母组成的字符串 tt,机器人会按照以下步骤处理字符串:

  1. 选择满足 ti=ti+1t_i = t_{i+1} 的最小的 ii。如果不存在这样的 ii,处理结束。
  2. 如果 tit_iz,则移除 tit_iti+1t_{i+1}。如果 tit_i 不是 z,则取 tit_i 的下一个字母 cc,将 tit_iti+1t_{i+1} 一起替换为一个 cc
  3. 返回步骤 1。

例如,给字符串 axxxxza 给机器人后,字符串将按照如下方式被处理:axxxxzaayxxzaayyzaazzaaab

现给定一个只包含小写英文字母的字符串 ss,请你回答 QQ 个询问。第 ii 个询问如下:

  • 若将 ss 的第 lil_i 个字符到第 rir_i 个字符(包含两端)所组成的连续子串交给机器人处理,处理结束后字符串是否为空?

输入格式

输入按以下格式从标准输入读入:

ss QQ
l1l_1 r1r_1
l2l_2 r2r_2
\ldots
lQl_Q rQr_Q

输出格式

输出 QQ 行。对于第 ii 个询问,若结果字符串最终为空则输出 Yes,否则输出 No

输入输出样例 #1

输入 #1

axxxxza
2
1 7
2 6

输出 #1

No
Yes

输入输出样例 #2

输入 #2

aabcdefghijklmnopqrstuvwxyz
1
1 27

输出 #2

Yes

输入输出样例 #3

输入 #3

yzyyyzyzyyyz
8
1 6
7 12
1 12
6 11
1 1
1 3
4 9
3 8

输出 #3

Yes
Yes
Yes
Yes
No
No
No
No

说明/提示

限制条件

  • 1s5×1051 \leq |s| \leq 5 \times 10^5
  • ss 只包含小写英文字母。
  • 1Q1051 \leq Q \leq 10^5
  • 1liris1 \leq l_i \leq r_i \leq |s|

样例解释 1

  • 对第 11 个询问,字符串经过处理为 axxxxzaayxxzaayyzaazzaaab,最终结果为 b,因此输出 No
  • 对第 22 个询问,字符串经过处理为 xxxxzyxxzyyzzz → ``(空串),因此输出 Yes