Truy Vấn Palindrome

Đề bài

Mô tả

Cho xâu gồm n ký tự thường. Xử lý m thao tác:

  • Thao tác 1: thay đổi ký tự tại vị trí k thành x.
  • Thao tác 2: kiểm tra xâu con từ vị trí a đến b có phải palindrome không.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên nm: độ dài xâu và số thao tác.

Dòng thứ hai chứa xâu ban đầu.

  • m dòng tiếp theo, mỗi dòng mô tả một thao tác: "1 k x" (thay ký tự) hoặc "2 a b" (kiểm tra palindrome).

Dữ liệu ra

Với mỗi thao tác loại 2, in ra "YES" nếu xâu con là palindrome, ngược lại in "NO".

Ràng buộc

  • 1n,m2×105
  • 1kn
  • 1abn

Ví dụ

Input Output Giải thích
7 5
aybabtu
2 3 5
1 3 x
2 3 5
1 5 x
2 3 5
YES
NO
YES
"bab" là palindrome; sau thay đổi "xab" không phải; sau thay đổi tiếp "xax" là palindrome

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0