AtCoder Beginner Contest 157
翻译中…
Problem Statement
翻译中…
You are given a string $S$ of length $N$ consisting of lowercase English letters.
翻译中…
Process $Q$ queries of the following two types:
翻译中…
- Type
$1$: change the$i_q$-th character of$S$to$c_q$. (Do nothing if the$i_q$-th character is already$c_q$.) - Type
$2$: answer the number of different characters occurring in the substring of$S$between the$l_q$-th and$r_q$-th characters (inclusive).
翻译中…
Constraints
翻译中…
$N$,$Q$,$i_q$,$l_q$, and$r_q$are integers.$S$is a string consisting of lowercase English letters.$c_q$is a lowercase English letter.$1 \leq N \leq 500000$$1 \leq Q \leq 20000$$|S| = N$$1 \leq i_q \leq N$$1 \leq l_q \leq r_q \leq N$- There is at least one query of type
$2$in each testcase.
翻译中…
Input
翻译中…
Input is given from Standard Input in the following format:
翻译中…
N
S
Q
Query_1
\vdots
Query_Q
翻译中…
Here, $Query_i$ in the $4$-th through $(Q+3)$-th lines is one of the following:
翻译中…
1 i_q c_q
翻译中…
2 l_q r_q
翻译中…
Output
翻译中…
For each query of type $2$, print a line containing the answer.
翻译中…
样例
Input #1
7
abcdbbd
6
2 3 6
1 5 z
2 1 1
1 4 a
1 7 d
2 1 7
Output #1
3
1
5
In the first query, `cdbb` contains three kinds of letters: `b` , `c` , and `d`, so we print $3$.
In the second query, $S$ is modified to `abcdzbd`.
In the third query, `a` contains one kind of letter: `a`, so we print $1$.
In the fourth query, $S$ is modified to `abcazbd`.
In the fifth query, $S$ does not change and is still `abcazbd`.
In the sixth query, `abcazbd` contains five kinds of letters: `a`, `b`, `c`, `d`, and `z`, so we print $5$.
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。