Editorial for Thủy triều
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Tiến hành gom toàn bộ truy vấn và sắp xếp các truy vấn theo thứ tự tăng dần mực nước . Duyệt qua với mỗi truy vấn, sử dụng Hai con trỏ (Two Pointers) tiến hành xử lý các điểm có độ cao theo thứ tự tăng dần và nhỏ hơn hoặc bằng mực nước, đồng thời duy trì một danh sách các đoạn khu vực có thể nhìn thấy được.
Nếu một điểm tại chỉ số bị thủy triều bao phủ, xảy ra một trong
trường hợp:
- Vùng đất đoạn
còn tồn tại trước đó (với
). Lúc này phân tách ra hai đoạn
và
.
- Vùng đất đoạn
còn tồn tại trước đó (với
) và điểm tại chỉ số
đã bị thủy triều bao phủ. Lúc này đoạn
trở thành đoạn
.
- Vùng đất đoạn
còn tồn tại trước đó (với
) và điểm tại chỉ số
đã bị thủy triều bao phủ. Lúc này đoạn
trở thành đoạn
.
- Vùng đất đoạn
còn tồn tại trước đó và hai điểm chỉ số
,
đều đã bị thủy triều bao phủ. Lúc này đoạn
bị xóa hoàn toàn.
Sau khi xử lý các điểm có độ cao nhỏ hơn hoặc bằng mực nước của truy vấn hiện tại, sử dụng Tìm kiếm nhị phân để tính toán kết quả. Có thể sử dụng cấu trúc Ordered Set để dễ dàng xử lý việc thêm, xóa và tính toán kết quả.
Độ phức tạp: .
Comments