Review in round 4 Câu D
Tham khảo đề bài:
Lời giải
Ta sắp xếp các đoạn theo chiều tăng dần
.
Để tối ưu nhất, ta tham lam chọn các phần tử từ phải sang trái và chưa được chọn trước đó của đoạn
Chứng minh:
Xét hai đoạn và
sau khi đã sắp xếp.
1) Trường hợp 1: giao
:
Nếu ta chọn các phần tử thuộc đoạn
thì thoả mãn được cùng lúc cả hai đoạn
và
.
Nếu ta chọn các phần tử thuộc nửa đoạn
thì chỉ thoả mãn được đoạn
mà không thoả mãn được đoạn
.
Suy ra ưu tiên chọn các phần tử bên phải của đoạn
2) Trường hợp 2: không giao
(
).
- Trường hợp này, ta chọn phần tử nào trong đoạn
thì chỉ thoả mãn được đoạn
.
Các bước thực hiện liên tục từ đoạn tới đoạn
như sau:
Nếu
thì tham lam chọn các phần tử từ phải sang trái và chưa được chọn trước đó của đoạn
.
Nếu
thì xét tiếp đoạn
.
Các thao tác tìm và tham lam chọn phần tử có thể sử dụng Segment Tree và tìm kiếm nhị phân để giải quyết
Độ phức tạp: . Code tham khảo
Comments