#B. 升序子串

    Type: Default 1000ms 256MiB

升序子串

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

升序子串

题目描述

小白兔最近对字符串很感兴趣,对排好顺序的字符串更感兴趣,所以小黑兔给了小白兔一个长度为NN的字符串 SS,下标从 11 开始。小黑兔在一些时刻会修改字符串中的某个字符,在另外一些时刻又会问小白兔SS的某个子串是不是升序的。但是小黑兔觉得只看是不是升序又太简单了,它决定增加一个问题:设当前被询问的子串为Sl,l+1,...,rS_{l,l+1,...,r},将SS中的字符按升序排列,得到新字符串TT,问Sl,l+1,...,rS_{l,l+1,...,r}是否为TT的子串。

这个问题难倒了小白兔,它决定来问你。

简单来说,小黑兔的操作可以写成以下形式:

1 x c:将字符串 SS 中的第 xx 个字符替换为 cc

2 l r:将 SS 中的字符按升序排列,得到新字符串 TT,询问串 Sl,l+1,...,rS_{l,l+1,...,r} 是否为 TT 的子串。

小白兔需要你对于每个操作22,输出Yes或者No表示结果。

输入格式

输入第一行是字符串长度NN,第二行是这个字符串SS,第三行是小黑兔的操作次数QQ。接下来QQ行每行一个操作如题面所示。

输出格式

对于每个操作22,输出一行Yes或者No表示结果。即如果Sl,l+1,...,rS_{l,l+1,...,r}是否为TT的子串则输出一行Yes,反之输出一行No。

样例 #1

样例输入 #1

6
abcdcf
4
2 1 3
2 2 6
1 5 e
2 2 6

样例输出 #1

Yes
No
Yes

数据范围

对20%的数据,1N101\le N\le 101q51\le q\le 5

对100%的数据,1N105 1\leq N\leq 10^5 SS中全是小写英文字母,1Q1051\leq Q\leq 10^5 1x,l,rN 1\leq x,l,r\leq N cc是小写英文字母。

信息选修课(普及/提高)期末考

Not Attended
Status
Done
Rule
IOI
Problem
5
Start at
2023-6-3 10:45
End at
2023-6-3 15:30
Duration
4.8 hour(s)
Host
Partic.
14