Dãy Con Tốt Nhất
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Farmer John có một xâu nhị phân độ dài , ban đầu toàn số 0. Anh thực hiện thao tác lật (flip), mỗi thao tác đảo tất cả ký tự từ vị trí đến (, ).
Sau đó trả lời truy vấn. Mỗi truy vấn cho ba số : tìm dãy con (subsequence) có thứ tự từ điển lớn nhất độ dài từ đoạn của xâu. Kết quả được biểu diễn dưới dạng giá trị nhị phân modulo .
Cụ thể, nếu dãy con tìm được là , in ra .
Dữ liệu vào
- Dòng 1: Ba số nguyên (, , )
- dòng tiếp theo: Hai số — đoạn cần lật ()
- dòng tiếp theo: Ba số (, )
Dữ liệu ra
- dòng, mỗi dòng là kết quả của truy vấn tương ứng modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 3 9 1 5 2 4 3 3 1 5 5 1 5 4 1 5 3 1 5 2 1 5 1 2 5 4 2 5 3 2 5 2 2 5 1 |
21 13 7 3 1 5 5 3 1 |
Sau 3 thao tác lật, xâu trở thành "10101". Truy vấn : dãy con duy nhất là "10101" = 21. Truy vấn : dãy con lớn nhất là "1101" = 13. |
Bình luận