[Buổi 16][Sắp xếp & tìm kiếm][RDD] Bài 12: Sắp Xếp Đuôi Mảng
Sắp Xếp Đuôi Mảng
Bối cảnh
Bạn được cho hai mảng A và B với kích thước lần lượt là N và M, với điều kiện 1 ≤ B_i ≤ N.
Yêu cầu
Đối với mỗi 1 ≤ i ≤ M, hãy thực hiện các bước sau:
Sắp xếp đoạn hậu tố có độ dài B_i trong mảng A theo thứ tự không giảm.
Xuất mảng A sau tất cả các thao tác.
Lưu ý rằng đoạn hậu tố có độ dài X bao gồm các phần tử cuối cùng X của mảng.
Input
Dòng đầu tiên chứa một số nguyên T, đại diện cho số lượng test case.
Dòng đầu tiên của mỗi test case chứa hai số nguyên cách nhau một khoảng trắng N và M, đại diện cho kích thước của các mảng A và B.
Dòng thứ hai của mỗi test case chứa N số nguyên cách nhau một khoảng trắng, là các phần tử của mảng A.
Dòng thứ ba của mỗi test case chứa M số nguyên cách nhau một khoảng trắng, là các phần tử của mảng B.
Output
Đối với mỗi test case, xuất ra một dòng chứa N số nguyên cách nhau một khoảng trắng, là mảng A sau tất cả các thao tác.
Ràng buộc
- \(1 ≤ T ≤ 10^5\)
- \(1 ≤ N, M ≤ 2 × 10^5\)
- \(1 ≤ A_i ≤ 10^7\)
- \(1 ≤ B_i ≤ N\)
- Tổng \(N\) và \(M\) qua tất cả các test case không vượt quá \(2 × 10^5\).
Ví dụ 1
Input
2
5 1
2 3 4 6 1
2
6 3
5 7 12 11 13 10
1 2 4
Output
2 3 4 1 6
5 7 10 11 12 13
Giải thích ví dụ
Test case 1: Ban đầu,
A = [2, 3, 4, 6, 1]. Sau khi sắp xếp đoạn hậu tố có độ dài2, mảng trở thànhA = [2, 3, 4, 1, 6].Test case 2:
B_1 = 1:A = [5, 7, 12, 11, 13, 10]B_2 = 2:A = [5, 7, 12, 11, 10, 13]B_3 = 4:A = [5, 7, 10, 11, 12, 13]- Do đó, mảng cuối cùng là
A = [5, 7, 10, 11, 12, 13].
Thông tin học tập
- Buổi: B16
- Concepts: sorting, suffix processing, maximum queries
- Giới hạn kiến thức: B01-B16
- Time limit: 2 seconds
- Memory limit: 64 MB
- Point: 20
Comments