Truy vấn nhỏ nhất trên dãy tuần hoàn
Đề bài
Mô tả
Cho dãy gồm số nguyên dương và một số nguyên . Dãy được tạo ra bằng cách nối liên tiếp bản sao của dãy , do đó có đúng phần tử:
Nói cách khác, với mọi .
Bạn cần xử lý truy vấn trên dãy , mỗi truy vấn thuộc một trong hai loại:
1 l r x— gán với mọi chỉ số thỏa mãn .2 l r— tìm giá trị nhỏ nhất trong các với .
Các truy vấn phải được xử lý theo đúng thứ tự xuất hiện trong dữ liệu vào.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
- Dòng thứ ba chứa một số nguyên .
- dòng tiếp theo, mỗi dòng mô tả một truy vấn theo một trong hai dạng
1 l r xhoặc2 l rnhư trên.
Dữ liệu ra
Với mỗi truy vấn loại , in ra trên một dòng giá trị nhỏ nhất của đoạn tương ứng.
Ràng buộc
Lưu ý rằng có thể lên tới , nên không thể dựng tường minh toàn bộ dãy .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 1 1 2 3 3 2 1 3 1 1 2 4 2 1 3 |
1 3 |
nên . Truy vấn đầu cho . Sau khi gán thì , nên giá trị nhỏ nhất trở thành . |
| 3 2 1 2 3 5 2 4 4 1 4 4 5 2 4 4 1 1 6 1 2 6 6 |
1 5 1 |
. Phần tử là bản sao của nên đáp án đầu là . Gán rồi hỏi lại cho . Cuối cùng gán toàn bộ dãy bằng nên . |
Bình luận