[Buổi 35][Quy hoạch động 1 chiều & LIS][ADV] Bài 1: Lập lịch hợp đồng có trọng số
Lập lịch hợp đồng có trọng số
Bối cảnh và bài toán
Có n hợp đồng; hợp đồng i chiếm trọn các ngày từ l_i đến r_i và mang lại lợi ích v_i. Hai hợp đồng chỉ cùng được chọn nếu hợp đồng trước kết thúc trước ngày hợp đồng sau bắt đầu.
Yêu cầu
Tối đa hóa tổng lợi ích.
Input
Dòng 1: n. Sau đó n dòng l_i r_i v_i.
Output
In tổng lợi ích lớn nhất.
Ràng buộc
1 <= n <= 2*10^51 <= l_i <= r_i <= 10^91 <= v_i <= 10^9
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 40 | n <= 500 |
01–08 |
| S2 | 60 | Không có ràng buộc bổ sung | 09–20 |
Ví dụ 1
Input
4
1 3 10
4 5 20
2 6 100
7 8 30
Output
130
Giải thích. Ví dụ nhỏ giúp kiểm tra cách mô hình hóa trạng thái và kết quả cuối; khi tự giải, cần suy luận từ ràng buộc thay vì suy đoán từ sample.
Ví dụ 2
Input
3
1 10 5
2 3 4
4 5 4
Output
8
Giải thích. Hãy đối chiếu với edge case: trạng thái đầu, trạng thái không đạt được, tie hoặc biên chỉ số tùy bài.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M10-B35-ADV01 |
| Buổi | B35 |
| Loại bài | ADVANCED |
| Mức độ khó | Khó (Hard) |
| Thời gian làm bài khuyến nghị | 60 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: FULLHOUSE DEV – Self-generated.
Comments