Hướng dẫn giải của [TS10 Hà Nội Chuyên Sư Phạm 2025 - 2026] Chạy tiếp sức
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.
Gọi ~pref_i~ là tổng độ dài ~i~ chặng đầu. Nếu ~A~ chạy tới vị trí ~i~ thì ~S_A=pref_i~. Ta cần tìm vị trí kết thúc của ~B~ sao cho ~S_B \ge S_A~ và ~S_C \ge S_B~.
Vì các độ dài đều dương, mảng cộng dồn tăng nghiêm ngặt. Với mỗi ~i~, dùng tìm kiếm nhị phân để lấy vị trí nhỏ nhất ~j~ có ~pref_j-pref_i \ge S_A~. Nếu tại vị trí này vẫn có ~S_B \le S_C~ thì phương án khả thi.
Độ phức tạp ~O(n\log n)~.
Bình luận