cpp_strings_06
Xem dạng PDF
Mã bài:
cpp_strings_06
Điểm:
0,5 (OI)
Giới hạn thời gian:
0.0s
Giới hạn bộ nhớ:
512M
Dữ liệu vào:
stdin
Dữ liệu ra:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Mô tả
Cho một xâu kí tự $S$ có độ dài $N$ chỉ gồm các kí tự A, C, G và T.
Hãy trả lời $Q$ câu hỏi sau:
- Câu hỏi $i$ (1 ≤ $i$ ≤ $Q$): với 2 số nguyên $l{i}$ và $r{i}$ (1 ≤ $l{i}$ < $r{i}$ ≤ N), có bao nhiêu lần
ACxuất hiện như một xâu con trong xâu con của $S$ bắt đầu từ $l{i}$ đến $r{i}$?
Ghi chú
Một xâu con của xâu T là xâu mà đạt được nhờ loại bỏ đi 0 hay nhiều kí tự ở đầu hay cuối xâu T. Ví dụ, xâu con của ISPOJ là SPO, OJ, SPOJ, ISPOJ và xâu rỗng, nhưng không phải IO.
Điều kiện
- 2 ≤ $N$ ≤ $10^{5}
- 1 ≤ $Q$ ≤ $10^{5}
- $S$ là một xâu có độ dài $N$.
- Mỗi kí tự trong $S$ chỉ có thể là 1 trong 4 kí tự
A,C,GvàT. - 1 ≤ $l{i}$ < $r{i}$ ≤ N
Input
Input được đưa vào dưới dạng sau:\ N Q\ S\ $l{1}$ $r{1}$\ .\ .\ $l{Q}$ $r{Q}$\
Output
In ra $Q$ dòng. Dòng thứ $i$ là câu trả lời cho câu hỏi thứ $i$.
Ví dụ
| Input | Output |
|---|---|
| 8 3 ACACTACG 3 7 2 3 1 8 |
2 0 3 |
- Câu hỏi 1: xâu con của $S$ bắt đầu từ 3 kết thúc tại 7 là
ACTAC. Trong xâu này,ACđã xuất hiện 2 lần với vai trò là 1 xâu con. - Câu hỏi 2: xâu con của $S$ bắt đầu từ 2 kết thúc tại 3 là
CA. Trong xâu này,ACkhông xuất hiện lần nào với vai trò là 1 xâu con. - Câu hỏi 3: xâu con của $S$ bắt đầu từ 1 kết thúc tại 8 là
ACACTACG. Trong xâu này,ACđã xuất hiện 3 lần với vai trò là 1 xâu con.
Bình luận