HackDream Green 03-E:

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 2.75s
Python 3 10.5s
Bộ nhớ: 256M
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

Cho một chuỗi ký tự ~s~ với độ dài ~n~ chỉ bao gồm các chữ cái tiếng Anh in thường. Cho ~q~ truy vấn gồm 2 loại như sau:

  • ~1~ ~x~ ~y~: Đổi toàn bộ các ký tự ~x~ trong chuỗi ~s~ thành ký tự ~y~.
  • ~2~ ~x~: Đưa ra số lần xuất hiện của ký tự ~x~ trong chuỗi ~s~.

Yêu cầu

Cho ~s~ và ~q~ truy vấn. Với mỗi truy vấn loại ~2~, in ra số lần xuất hiện của ký tự tương ứng.

Input

  • Dòng đầu tiên chứa 2 số nguyên dương ~n~, ~q~ ~(1≤n,q≤10^6)~ cách nhau một dấu cách.
  • Dòng thứ hai chứa chuỗi ký tự ~s~.
  • ~q~ dòng sau, mỗi dòng là một truy vấn có dạng ~1~ hoặc ~2~.

Output

Mỗi dòng tương ứng với kết quả của các truy vấn dạng ~2~.

Sample Input

5 7
abcda
2 a
1 a b
2 a
2 b
2 d
1 b d
2 d

Sample Output

2
0
3
1
4

Giải thích

Ban đầu chuỗi ký tự là ~abcde~.

Truy vấn 1 yêu cầu đưa ra số lần xuất hiện của ký tự ~a~, kết quả là ~2~ lần.

Truy vấn 2 yêu cầu đổi toàn bộ ký tự ~a~ thành ký tự ~b~, chuỗi chuyển thành ~bbcdb~.

Truy vấn 3, 4, 5 yêu cầu đưa ra số lần xuất hiện của ký tự ~a~, ~b~, ~d~, kết quả lần lượt là ~0~, ~3~ và ~1~ lần.

Truy vấn 6 yêu cầu đổi toàn bộ ký tự ~b~ thành ký tự ~d~, chuỗi chuyển thành ~ddcdd~.

Truy vấn 7 yêu cầu đưa ra số lần xuất hiện của ký tự ~d~, kết quả là ~4~ lần.

Subtask

  • Có 50% số test ứng với 50% số điểm có ~1≤n,q≤10^3~;
  • 50% số test còn lại tương ứng với 50% số điểm không có giới hạn gì thêm.

Bình luận đầu tiên

Bình luận

Không có bình luận nào.