AT_abc285_f [ABC285F] Substring of Sorted String

Description

[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` の部分文字列ではありません。

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ 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` を出力します。