[ABC285F] Substring of Sorted String

题意翻译

给定一个长度为 $N$ 的字符串 $S$,下标从 $1$ 开始,有以下两种操作: - `1 x c`:将字符串 $S$ 中的第 $x$ 个字符替换为 $c$。 - `2 l r`:将 $S$ 中的字符按升序排列,得到新字符串 $T$,询问串 $S_{l,l+1,...,r}$ 是否为 $T$ 的子串。 对于每个操作 $2$,输出 `Yes` 或者 `No` 表示结果。

题目描述

[problemUrl]: https://atcoder.jp/contests/abc285/tasks/abc285_f 英小文字からなる長さ $ N $ の文字列 $ S $ と $ Q $ 個のクエリが与えられます。クエリを順に処理してください。 クエリは以下の $ 2 $ 種類です。 - `1 x c` : $ S $ の $ x $ 文字目を文字 $ c $ に置き換える - `2 l r` : $ S $ を文字の昇順に並び替えて得られる文字列を $ T $ とする。$ S $ の $ l $ 文字目から $ r $ 文字目までからなる文字列が $ T $ の部分文字列であるとき `Yes`、部分文字列でないとき `No` を出力する 部分文字列とは? $ S $ の**部分文字列**とは、$ S $ の先頭から $ 0 $ 文字以上、末尾から $ 0 $ 文字以上削除して得られる文字列のことをいいます。 例えば、`ab` は `abc` の部分文字列ですが、`ac` は `abc` の部分文字列ではありません。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。ただし、$ \text{query}_i $ で $ i $ 番目のクエリを表す。 > $ N $ $ S $ $ Q $ $ \text{query}_1 $ $ \text{query}_2 $ $ \vdots $ $ \text{query}_Q $

输出格式


問題文中の指示に従ってクエリを処理せよ。

输入输出样例

输入样例 #1

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

输出样例 #1

Yes
No
Yes

说明

### 制約 - $ 1\leq\ N\ \leq\ 10^5 $ - $ S $ は英小文字からなる長さ $ N $ の文字列 - $ 1\ \leq\ Q\ \leq\ 10^5 $ - $ 1 $ 種類目のクエリにおいて、$ 1\ \leq\ x\ \leq\ N $ - $ 1 $ 種類目のクエリにおいて、$ c $ は英小文字 - $ 2 $ 種類目のクエリにおいて、$ 1\ \leq\ l\ \leq\ r\ \leq\ N $ ### Sample Explanation 1 \- $ 1 $ 番目のクエリにおいて、$ S $ を文字の昇順に並び替えて得られる文字列 $ T $ は `abccdf` です。 $ S $ の $ 1 $ 文字目から $ 3 $ 文字目までからなる文字列は `abc` であり $ T $ の部分文字列です。よって `Yes` を出力します。 - $ 2 $ 番目のクエリにおいて、$ S $ を文字の昇順に並び替えて得られる文字列 $ T $ は `abccdf` です。 $ S $ の $ 2 $ 文字目から $ 6 $ 文字目までからなる文字列は `bcdcf` であり $ T $ の部分文字列ではありません。よって `No` を出力します。 - $ 3 $ 番目のクエリにより、$ S $ の $ 5 $ 文字目が `e` に置き換えられ、$ S $ は `abcdef` となります。 - $ 4 $ 番目のクエリにおいて、$ S $ を文字の昇順に並び替えて得られる文字列 $ T $ は `abcdef` です。 $ S $ の $ 2 $ 文字目から $ 6 $ 文字目までからなる文字列は `bcdef` であり $ T $ の部分文字列です。よって `Yes` を出力します。