Hướng dẫn giải của Giá sách (Khó)
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Lời giải: Giá sách (Khó)
Hướng tiếp cận
DP tối ưu với kỹ thuật gộp khoảng và cây tìm kiếm nhị phân.
Nhận xét quan trọng
- Cùng công thức DP như bài Silver: với ràng buộc tổng chiều rộng.
- Khoảng gộp: Khi xử lý sách , các có sẽ được gộp chung vào một khoảng mới (max = ). Tổng số lần gộp trên toàn bộ quá trình là .
- DP đơn điệu: tăng theo , nên của mỗi khoảng là .
- Dùng multiset để tra cứu qua các khoảng còn hiệu lực trong cửa sổ chiều rộng.
Thuật toán
- Duy trì stack khoảng (max_h giảm dần từ đáy lên đỉnh).
- Khi thêm sách : gộp các khoảng có maxh ≤ hi vào khoảng mới.
- Cửa sổ trượt: loại các không còn hợp lệ (tổng chiều rộng vượt ).
- phần tử nhỏ nhất trong multiset.
Độ phức tạp
- Thời gian:
- Bộ nhớ:
Bình luận