Olympic chuyên KHTN 2025 - STRFUNC

Xem dạng PDF

Gửi bài giải

Điểm: 90,00 (OI)
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho ~1~ xâu ~s~ độ dài ~n~ gồm các ký tự nằm trong ~x~ chữ cái latin đầu tiên. Đặt ~s(l,r)~ là substring (xâu con liên tiếp) từ ~l~ đến ~r~ của ~s~. Định nghĩa hàm ~f(s)~ như sau (~f(s)~ có thể nhận nhiều giá trị):

  • Nếu ~n>1~, ~f(s)~ có thể bằng ~-f(s(1,i))+f(s(i+1,n))~ với ~1 \le i<n~ (~i~ có thể lựa chọn).</p>

  • Nếu ~n=1~, ~f(s)=2^c~ với ~c~ là số thứ tự của chữ cái duy nhất trong ~s~ (các chữ cái từ a–z được đánh số từ ~0~–~25~).

Hãy xử lý ~q~ truy vấn có ~2~ dạng:

  • ! ~p~ ~c~: thay đổi chữ cái thứ ~p~ trong ~s~ thành ~c~.

  • ? ~l~ ~r~ ~T~: xác định xem ~f(s(l,r))~ có thể bằng ~T~ không (~T \in \mathbb{Z}~)?

Input

Dòng đầu tiên chứa ~3~ số nguyên dương ~n, q, x~.

Dòng thứ hai chứa xâu ~s~ độ dài ~n~.

~q~ dòng tiếp theo, mỗi dòng chứa ~1~ truy vấn thuộc ~1~ trong ~2~ loại.

Gọi ~L~ là ~\max(|T|)~ (giá trị tuyệt đối lớn nhất của ~T~) trong mọi truy vấn ?.

Dữ liệu đảm bảo:

  • ~1 \le p \le n~, ~1 \le l \le r \le n~, 'a' ~\le c \le~ 'z' với mọi truy vấn.

  • ~L \le 10^{12}~, ~x \le 26~ và ~n,q \le 10^5~.

  • Xâu ~s~ chỉ gồm các ký tự nằm trong ~x~ chữ cái latin đầu tiên tại mọi thời điểm.

Output

Với mỗi truy vấn ?, in ra câu trả lời dưới dạng "YES/NO". Việc viết thường hay viết hoa các ký tự là không quan trọng.

Scoring

Subtask Điểm Ràng buộc
1 ~12\%~ ~n \le 8~, ~q \le 5~, ~L \le 10^9~.
2 ~18\%~ ~n \le 12~, ~q \le 5~, ~x=3~, ~L \le 10^9~, không có truy vấn !.
3 ~10\%~ ~x=2~, ~q \le 5~, ~L \le 200000~, ~s_i \ne s_{i+1}~ ~\forall 1 \le i<n~, không có truy vấn <span style="font-family: courier new,monospace;">!.
4 ~30\%~ ~n \le 500~, ~q \le 5~, ~x=4~, ~L \le 4000~.
5 ~10\%~ ~q \le 5~.
6 ~20\%~ Không có điều kiện gì thêm.

Sample Input 1

3 5 3
abc
! 1 c
? 1 2 -3
! 2 c
! 3 a
? 1 3 -7

Sample Output 1

NO
YES

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.