#ABC473F. A/AB 插入 / A/AB Insertion
A/AB 插入 / A/AB Insertion
题目描述
给定一个由 A 和 B 组成的长度为 的字符串 。
请处理共 个以下类型的询问。
1 i c
类型 :将 的第 个字符改为 。
2 l r
类型 :
设字符串 为从当前字符串 中取出第 个到第 个字符所得到的字符串。
如果能够通过以下操作得到字符串 ,输出 Yes;否则输出 No。
- 从空字符串开始,以任意顺序进行以下两种操作任意多次(可以是零次)。
- 选择字符串中的任意一个位置(可以是开头或结尾),在该处插入
A。 - 选择字符串中的任意一个位置(可以是开头或结尾),在该处插入
AB。
- 选择字符串中的任意一个位置(可以是开头或结尾),在该处插入
输入格式
输入按以下格式从标准输入读入:
其中, 表示第 个询问,每个询问的输入格式遵循题目描述中给出的格式。
输出格式
每当给出一个类型 的询问时,将答案输出为一行。
数据范围
- 是满足 的整数。
- 是由
A和B组成的长度为 的字符串。 - 是满足 的整数。
- 每个给定的询问为类型 或类型 。
- 类型 的询问满足以下限制:
- 是满足 的整数;
- 为
A或B。
- 类型 的询问满足以下限制:
- 和 是满足 的整数。
10
AABBAABABB
6
2 1 10
1 5 B
2 1 10
2 6 8
1 3 A
2 1 10
Yes
No
Yes
Yes
该输入包含六个询问。
-
初始时,
AABBAABABB。 -
对于第 个询问,
AABBAABABB,即取出 的第 到第 个字符得到的字符串,可以通过以下步骤得到,因此输出Yes。 -
从空字符串开始。
-
在空字符串的开头插入
AB,字符串变为AB。 -
在
AB的第 个字符之后插入AB,字符串变为AABB。 -
在
AABB的末尾插入AB,字符串变为AABBAB。 -
在
AABBAB的第 个字符之后插入AB,字符串变为AABBAABB。 -
在
AABBAABB的第 个字符之后插入AB,字符串变为AABBAABABB。 -
对于第 个询问,将 的第 个字符改为
B。此后AABBBABABB。 -
对于第 个询问,
AABBBABABB,即取出 的第 到第 个字符得到的字符串,无法通过题目描述中的操作得到,因此输出No。 -
对于第 个询问,
ABA,即取出 的第 到第 个字符得到的字符串,可以通过题目描述中的操作得到,因此输出Yes。 -
对于第 个询问,将 的第 个字符改为
A。此后AAABBABABB。 -
对于第 个询问,
AAABBABABB,即取出 的第 到第 个字符得到的字符串,可以通过题目描述中的操作得到,因此输出Yes。
子任务设置
- 子任务 1(30 分): 且 。
- 子任务 2(30 分):没有类型 的询问(字符串不会被修改)。
- 子任务 3(40 分):无特殊限制。
相关
在下列比赛中: