trang chủ / đề bài / subreverse

Đảo Ngược Đoạn Con

Đề bài

Mô tả

Cho một xâu ký tự gồm n ký tự in hoa. Thực hiện m thao tác: mỗi thao tác gồm hai số nguyên a, b, nghĩa là đảo ngược đoạn con từ vị trí a đến b (tính từ 1) trong xâu.

Dữ liệu vào

  • Dòng 1: hai số nguyên n và m.
  • Dòng 2: xâu ký tự ban đầu độ dài n, chỉ gồm chữ cái in hoa A–Z.
  • m dòng tiếp theo: mỗi dòng gồm hai số nguyên a và b mô tả một thao tác.

Dữ liệu ra

In ra xâu ký tự sau khi thực hiện xong tất cả các thao tác.

Ràng buộc

  • 1≤n,m≤2·105
  • 1≤a≤b≤n

Ví dụ

Input Output Giải thích
7 2
AYBABTU
3 4
4 7
AYAUTBB Lần 1: đảo ngược vị trí 3–4 ("BA" → "AB") → "AYABBTU". Lần 2: đảo ngược vị trí 4–7 ("BBTU" → "UTBB") → "AYAUTBB".
5 3
ABCDE
2 4
1 3
2 5
CEBAD Lần 1: đảo ngược [2,4] → "ADCBE". Lần 2: đảo ngược [1,3] → "CDABE". Lần 3: đảo ngược [2,5] → "CEBAD".

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0