Thứ tự từ điển

Xem dạng PDF

Gửi bài giải

Điểm: 0,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

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

Cho xâu ~s~ độ dài ~n~, các kí tự của xâu được đánh số từ ~1~ đến ~n~. Cho ~q~ truy vấn thuộc một trong hai dạng:

  1. Cho số nguyên ~i~ và chữ cái ~c~, gán ~s_i \leftarrow c~.

  2. Cho ba số nguyên ~i, j, k~. Xét hai xâu con bắt đầu từ ~i~ và ~j~, có độ dài ~k~, so sánh thứ tự từ điển~^\dagger~ của hai xâu này. Nói cách khác, hãy xét thứ tự từ điển của hai xâu con ~s_i s_{i+1} \dots s_{i+k-1}~ và xâu con ~s_j s_{j+1} \dots s_{j+k-1}~

Yêu cầu: Với mỗi truy vấn loại 2, in ra một trong ba giá trị tương ứng kết quả so sánh thứ tự từ điển tìm được:

  • Nếu hai xâu con giống nhau hoàn toàn, in ra =.

  • Nếu xâu con ~s_i s_{i+1} \dots s_{i+k-1}~ có thứ tự từ điển bé hơn xâu ~s_j s_{j+1} \dots s_{j+k-1}~, in ra <.

  • Ngược lại, in ra >.

~\dagger~ Xâu ~a_1 a_2 \dots a_m~ có thứ tự từ điển bé hơn xâu ~b_1 b_2 \dots b_m~ khi tồn tại một vị trí ~k~ (với ~0 \leq k \leq m~) sao cho tiền tố độ dài ~k~ của hai xâu ~a, b~ là giống nhau và ~a_{k+1} < b_{k+1}~. Việc so sánh hai chữ cái được thực hiện dựa trên thứ tự bảng chữ cái alphabet.

Input

Dòng đầu chứa hai số nguyên ~n, q~ là độ dài xâu ~s~ và số lượng truy vấn.

Dòng thứ hai chứa xâu độ dài ~n~ là xâu ~s~ gồm các chữ cái thường trong bảng chữ cái tiếng Anh.

Trong ~q~ dòng tiếp theo, mỗi dòng chứa mô tả của một truy vấn:

  • Đối với truy vấn loại 1, dòng này chứa ba số nguyên ~1 \space i \space c~ (với ~1 \leq i \leq n~ và ~c~ là chữ cái thường trong bảng chữ cái tiếng Anh).

  • Đối với truy vấn loại 2, dòng này chứa bốn số nguyên ~2 \space i \space j \space k~ (với ~1 \leq i, j \leq n~ và ~1 \leq k \leq n - \max(i, j) + 1~).

Output

In ra một xâu gồm các kí tự =, <> biểu diễn đáp án của các truy vấn loại 2 tương ứng.

Scoring

  • Subtask ~1~ (chiếm ~20\%~ số điểm): ~1 \leq n, q \leq 5000~.

  • Subtask ~2~ (chiếm ~30\%~ số điểm): ~1 \leq n, q \leq 2 \cdot 10^5~; các kí tự trong xâu ~s~ tại mỗi thời điểm là ~\texttt{a}~ hoặc ~\texttt{b}~.

  • Subtask ~3~ (chiếm ~50\%~ số điểm): ~1 \leq n, q \leq 2 \cdot 10^5~.

Sample Input 1

6 4
abcabc
2 1 4 2
1 6 d
2 1 4 3
2 2 4 3

Sample Output 1

=
<
>

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.