| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Query-Sum | 100 (p) | 1.0s | 256M |
| 2 | Bài toán truy vấn tổng | 100 (p) | 1.0s | 256M |
| 3 | CSES - Range Update Queries | Truy vấn Cập nhật Đoạn | 100 (p) | 1.0s | 512M |
| 4 | Candies | 100 (p) | 1.0s | 1023M |
| 5 | Nghịch thế | 100 (p) | 1.0s | 256M |
| 6 | Inverser2 | 100 (p) | 1.0s | 256M |
| 7 | Dãy nghịch thế (Trại hè MB 2019) | 100 (p) | 1.5s | 256M |
| 8 | Dãy con tăng dài nhất (bản khó) | 100 (p) | 0.7s | 512M |
| 9 | Thả diều (Trại hè MB 2019) | 100 (p) | 1.0s | 256M |
| 10 | Ma cũ ma mới | 100 (p) | 1.0s | 512M |
| 11 | Valentine | 100 (p) | 1.0s | 512M |
Cho dãy \(A\) gồm \(N\) phần tử là các số nguyên dương \(A_1, A_2, ..., A_N\). Cho \(Q\) thao tác thực hiện lần lượt, thao tác thứ \(i\) sẽ có một trong hai loại như sau:
Yêu cầu
Thực hiện tất cả lần lượt \(Q\) thao tác, và in ra kết quả của thao tác loại \(2\).
Test 1
6 5
9 2 4 7 4 8
1 5 6
2 1 5
1 3 8
1 2 3
2 2 4
32
24
Cho một mảng gồm \(N\) phần tử \(a[1],a[2],...,a[N]\) và có \(T\) truy vấn có dạng như sau:
Test 1
5 3
1 2 3 4 5
1 2 3
2 2 3
1 2 3
5
6
Cho một mảng gồm \(n\) số nguyên, nhiệm vụ của bạn là xử lí \(q\) truy vấn của các loại sau đây:
Test 1
8 3
3 2 4 5 1 1 5 3
2 4
1 2 5 1
2 4
5
6
Có \(n\) hộp kẹo, hộp thứ \(i\) có \(a_i\) viên và tất cả \(m\) người lần lượt tới ăn. Người thứ \(i\) sẽ chỉ ăn kẹo ở các hộp có số lượng còn lại không ít hơn \(t_i\) chiếc và sẽ ăn ở những hộp này, mỗi hộp một viên.
Yêu cầu: Hãy xác định số kẹo từng người đã ăn.
Test 1
3
3 1 1
2
1 2
3
1
Cho mảng \(n\) số \(a\). Một nghịch thế trong mảng là một cặp số \(i\), \(j\) thỏa mãn \(i < j\) và \(a_{i} > a_{j}\). Hãy đếm số cặp nghịch thế \((i,j)\) của mảng.
Gồm hai dòng:
Test 1
5
2 1 1 2 3
2
Cho \(n\) là một số nguyên dương và \(x = (x_1, x_2, ..., x_n)\) là một hoán vị của dãy số \((1, 2, ..., n)\). Với \(\forall i: 1 \le i \le n\), gọi \(t_i\) là số phần tử đứng trước giá trị \(i\) mà lớn hơn \(i\) trong dãy \(x\). Khi đó dãy \(t = (t_1, t_2,..., t_n)\) được gọi là dãy nghịch thế của \(x = (x_1, x_2, ..., x_n)\)
Ví dụ: Với \(n = 6\)
Dãy \(x = (3, 2, 1, 6, 4, 5)\) thì dãy nghịch thế của nó là \(t = (2, 1, 0, 1, 1, 0)\)
Dãy \(x = (1, 2, 3, 4, 5, 6)\) thì dãy nghịch thế của nó là \(t = (0, 0, 0, 0, 0, 0)\)
Dãy \(x = (6, 5, 4, 3, 2, 1)\) thì dãy nghịch thế của nó là \(t = (5, 4, 3, 2, 1, 0)\)
Vào từ file văn bản IVECTOR.INP gồm:
Ghi ra file văn bản IVECTOR.OUT gồm:
Test 1
6
1 2 3 4 5 6
2 1 0 1 1 0
0 0 0 0 0 0
3 2 1 6 4 5
Cho một dãy số nguyên gồm \(N\) phần tử \(A[1],A[2],\cdots A[N]\).
Biết rằng dãy con tăng đơn điệu là 1 dãy \(A[i_1],\cdots A[i_k]\) thỏa mãn \(i_1<i_2< \cdots <i_k\) và \(A[i_1]<A[i_2]< \cdots <A[i_k]\).
Yêu cầu: Hãy cho biết dãy con tăng đơn điệu dài nhất của dãy này có bao nhiêu phần tử.
Test 1
6
1 2 5 4 6 2
4
Trong một cuộc thi thả diều, ban giám khảo căn cứ vào độ cao của mỗi chiếc diều đạt được khii thả lên trời và xếp hạng cho chiếc diều đó theo một cách đặc biệt: Những chiếc diều không được thả cùng một lúc, mà theo trình tự từng chiệc một. Khi một chiếc diều được thả lên trời, ban giám khảo sẽ căn cứ vào độ cao của chiếc diều và xếp hạng cho chiếc diều đó bằng cách so độ cao của nó với độ cao của những chiếc diều đã thả trước đó. Ví dụ, giả sử độ cao của sáu chiếc diều theo thứ tự được thả như sau:
\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (78,24,68,40,39,89)\)
Chiếc đầu tiên xếp hạng \(1\) vì trước nó chưa có chiếc diều nào được thả. Chiếc thứ hai xếp hạng \(2\) vì \(24 < 78\). Chiếc thứ ba cũng xếp hạng \(2\) vì \(24 < 68 < 78\). Chiếc thứ tư xếp hạng \(3\) vì \(24 < 40 < 68 < 78\), chiếc thứ năm xếp hạng \(4\) vì \(24 < 39 < 40 < 68 < 78\) và chiếc cuối cùng xếp hạng nhất với độ cao \(89\) và \(24 < 39 < 40 < 68 < 78 < 89\). Như vậy trình tự dãy số xếp hạng được công bố sẽ là: \((1,2,2,3,4,1)\). Tóm lại hạng của một chiếc diều bằng số diều đã thả cao hơn nó cộng thêm \(1\).
Test 1
6
78
24
68
40
39
89
1
2
2
3
4
1
Có \(n\) con ma lần lượt gia nhập nghĩa trang theo thứ tự là \(1, 2, 3,..., n\). Chỉ số sức mạnh của các con ma tương ứng là \(a_1, a_2,..., a_n\). Khi một con ma mới gia nhập nghĩa trang thì nó sẽ bị các con ma cũ bắt nạt. Giả sử con ma mới có chỉ số sức mạnh là \(M\) và con ma cũ có chỉ số sức mạnh là \(C\), nếu \(M < C\) thì con ma mới phải nộp cho con ma cũ \(C - M\) đồng tiền vàng. Nếu \(M \ge C\) thì thôi. Bạn hãy tính thử xem sau khi đủ \(n\) con ma gia nhập nghĩa trang thì các con ma phải đưa lẫn nhau tổng cộng bao nhiêu đồng tiền vàng?.
Test 1
4
3 2 4 1
7
Nhân ngày lễ tình nhân, Ami quyết định đi leo núi. Ami đứng trước \(n\) ngọn núi được đánh số từ 1 đến \(n\), mỗi ngọn núi có chiều cao là \(h_i\) và một chỉ số boosting là \(d_i\). Ami có thể bắt đầu leo núi ở bất kì ngọn núi nào và khi vượt qua ngọn núi \(i\), Ami có thể dừng lại hoặc phải leo ở những ngọn núi có chỉ số lớn hơn \(i\) và có độ cao lớn hơn độ cao ngọn núi hiện tại ít nhất là \(d_i\). Hệ thức hóa, giả sử Ami đang ở ngọn núi \(i\) có chiều cao \(h_i\) và chỉ số boosting \(d_i\), Ami sẽ được leo ngọn núi \(j\) nếu \(j > i\) và \(h_j – h_i \ge d_i\). Ami muốn leo nhiều núi nhất có thể, do đó các bạn được phép giúp Ami tìm ra lịch trình leo núi tối ưu.
Test 1
5
1 2 3 4 5
2 1 3 1 1
3
Ami có thể leo núi theo thứ tự \(1 \rightarrow 4 \rightarrow 5\).
Test 2
1
1
1
1
Ami chỉ có thể leo 1 ngọn núi.