#SGM0000071. Truy vấn đoạn và bản sao (Range Queries and Copies)
Truy vấn đoạn và bản sao (Range Queries and Copies)
Truy vấn đoạn và bản sao (Range Queries and Copies)
Nguồn: CSES
Phiên bản: Phước Hưng OJ Extended
Đề bài
Ban đầu có đúng một mảng độ dài . Cần duy trì một danh sách các mảng và xử lý ba loại thao tác: 1 k a x gán phần tử của mảng bằng ; 2 k a b hỏi tổng đoạn của mảng ; 3 k tạo một bản sao độc lập của mảng và thêm vào cuối danh sách.
Dữ liệu vào
Dòng đầu chứa . Dòng thứ hai chứa mảng ban đầu. Tiếp theo là thao tác ở một trong ba dạng trên.
Kết quả
Với mỗi thao tác loại 2, in tổng đoạn trên một dòng.
Subtask
Subtask 1 (20%)
- , số truy vấn .
- Các điều kiện còn lại như Subtask 3.
Subtask 2 (30%)
- , số truy vấn .
- Các điều kiện còn lại như Subtask 3.
Subtask 3 (50%)
- mọi chỉ số phiên bản luôn chỉ tới một mảng đã tồn tại
Ví dụ
Input
5 6
2 3 1 2 5
3 1
2 1 1 5
2 2 1 5
1 2 2 5
2 1 1 5
2 2 1 5
Output
13
13
13
15
Giải thích
Sau 3 1, mảng số 2 là bản sao của mảng 1. Cập nhật 1 2 2 5 chỉ thay đổi mảng 2; vì vậy tổng toàn mảng 1 vẫn là còn mảng 2 trở thành .