[Buổi 21][Cây Fenwick (Binary Indexed Tree)][HW] Bài 1: Bảng doanh thu động
Bảng doanh thu động
Bối cảnh và bài toán
Một chuỗi cửa hàng ghi nhận doanh thu theo ngày. Hệ thống hỗ trợ sửa lại doanh thu của một ngày khi số liệu được đối soát và trả lời tổng doanh thu trên bất kỳ khoảng ngày nào.
Yêu cầu
Xử lý các cập nhật điểm và truy vấn tổng đoạn.
Input
- Dòng 1 chứa
n q. - Dòng 2 chứa
nsố ban đầu. - Mỗi truy vấn có dạng
1 k u(gán vị tríkbằngu) hoặc2 a b(tổng đoạn[a,b]).
Output
In kết quả cho mỗi truy vấn loại 2.
Ràng buộc
1 <= n, q <= 2 * 10^51 <= a[i], u <= 10^91 <= k <= n1 <= a <= b <= n
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 20% | n, q <= 30 | 01–04 |
| S2 | 30% | n, q <= 5000 | 05–10 |
| S3 | 50% | Không có ràng buộc bổ sung | 11–20 |
Ví dụ 1
Input
8 4
3 2 4 5 1 1 5 3
2 1 4
2 5 6
1 3 1
2 1 4
Output
14
2
11
Giải thích. Cập nhật vị trí 3 từ 4 thành 1 làm tổng đoạn 1..4 giảm còn 11.
Ví dụ 2
Input
3 4
5 5 5
2 1 3
1 2 10
2 2 2
2 1 3
Output
15
10
20
Giải thích. Các truy vấn phản ánh ngay giá trị mới tại vị trí 2.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M07-B21-HW01 |
| Buổi | B21 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 35 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: Phỏng theo CSES – Dynamic Range Sum Queries.
Comments