Duy trì danh sách mảng và xử lý truy vấn
Xem dạng PDFMô tả bài toán: Duy trì danh sách mảng và xử lý truy vấn
Bạn có một danh sách các mảng, ban đầu chỉ có một mảng duy nhất. Nhiệm vụ của bạn là xử lý các truy vấn thuộc các loại sau:
- Gán giá trị: Gán giá trị
cho phần tử thứ trong mảng thứ . - Tính tổng đoạn: Tính tổng các giá trị trong đoạn
của mảng thứ . - Tạo bản sao: Tạo một bản sao của mảng thứ
và thêm nó vào cuối danh sách các mảng.
Input:
- Dòng đầu tiên chứa hai số nguyên
và : kích thước mảng và số lượng truy vấn. - Dòng tiếp theo chứa
số nguyên : nội dung ban đầu của mảng. - Sau đó có
dòng, mỗi dòng mô tả một truy vấn:1 k a x
: Gán giá trị cho phần tử thứ trong mảng thứ .2 k a b
: Tính tổng các giá trị trong đoạn của mảng thứ .3 k
: Tạo một bản sao của mảng thứ và thêm nó vào cuối danh sách các mảng.
Output:
- Với mỗi truy vấn loại
2
, in ra tổng của đoạn được yêu cầu.
Constraints:
số mảng hiện tại.
Ví dụ:
Input:
Copy
5 6
2 3 1 2 5
3 1
2 1 1 5
2 2 1 5
1 2 2 5
2 1 2 5
2 2 1 5
Output:
Copy
13
13
13
15
Giải thích ví dụ:
Mảng ban đầu:
[2, 3, 1, 2, 5]
.Truy vấn
3 1
: Tạo một bản sao của mảng thứ (ban đầu) và thêm nó vào danh sách:- Danh sách các mảng:
[[2, 3, 1, 2, 5], [2, 3, 1, 2, 5]]
.
- Danh sách các mảng:
Truy vấn
2 1 1 5
: Tính tổng đoạn của mảng thứ :- Tổng:
. - Kết quả là
13
.
- Tổng:
Truy vấn
2 2 1 5
: Tính tổng đoạn của mảng thứ :- Tổng:
. - Kết quả là
13
.
- Tổng:
Truy vấn
1 2 2 5
: Gán giá trị cho phần tử thứ trong mảng thứ :- Mảng thứ
:[2, 5, 1, 2, 5]
. - Danh sách các mảng:
[[2, 3, 1, 2, 5], [2, 5, 1, 2, 5]]
.
- Mảng thứ
Truy vấn
2 1 2 5
: Tính tổng đoạn của mảng thứ :- Tổng:
. - Kết quả là
13
.
- Tổng:
Truy vấn
2 2 1 5
: Tính tổng đoạn của mảng thứ :- Tổng:
. - Kết quả là
15
.
- Tổng:
Bình luận
Gửi bài giải
Kotlin
PyPy
Điểm:
10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Pascal
Python
Scratch