trang chủ / đề bài / sortsubstr

Nhiệm vụ đơn giản

Đề bài

Mô tả

Cho xâu S độ dài n chỉ gồm các chữ cái Latin thường, và q truy vấn. Mỗi truy vấn gồm ba số nguyên i, j, k và được xử lý ngay lập tức trên xâu hiện tại:

  • Nếu k=1: sắp xếp đoạn con Si,Si+1,…,Sj theo thứ tự không giảm.
  • Nếu k=0: sắp xếp đoạn con Si,Si+1,…,Sj theo thứ tự không tăng.

Các truy vấn được thực hiện lần lượt theo đúng thứ tự đã cho, truy vấn sau tác động lên kết quả của truy vấn trước. Hãy in ra xâu S sau khi thực hiện xong tất cả q truy vấn.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và q: độ dài xâu và số truy vấn.
  • Dòng thứ hai chứa xâu S độ dài n, chỉ gồm chữ cái Latin thường.
  • q dòng tiếp theo, mỗi dòng chứa ba số nguyên i, j, k mô tả một truy vấn.

Dữ liệu ra

In ra một dòng duy nhất là xâu S sau khi thực hiện tất cả các truy vấn.

Ràng buộc

  • 1≤n≤105
  • 0≤q≤50000
  • 1≤i≤j≤n
  • k∈{0,1}

Ví dụ

Input Output Giải thích
10 5
abacdabcda
7 10 0
5 8 1
1 4 0
3 6 0
7 10 1
cbcaaaabdd Xâu lần lượt là abacdadcba, abacacddba, cbaaacddba, cbcaaaddba, cbcaaaabdd.
10 1
agjucbvdfk
1 10 1
abcdfgjkuv Một truy vấn duy nhất sắp xếp tăng dần toàn bộ xâu.
10 6
rmaahmdmuo
1 3 1
4 6 0
5 6 1
7 8 0
8 10 0
8 9 1
amrmahmoud Truy vấn thứ ba có đoạn nằm hoàn toàn bên trong đoạn của truy vấn thứ hai, nên sắp xếp lại một phần kết quả vừa tạo ra.

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