Hướng dẫn giải của [TS10 Hà Nội Chuyên Sư Phạm 2025 - 2026] Lời chào
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.
Xét một cặp kiến ngược chiều. Nếu kiến ~i~ đi chiều dương và kiến ~j~ đi chiều âm, đặt ~s=(p_j-p_i)\bmod n~. Hai kiến gặp nhau khi tồn tại ~k \ge 0~ sao cho ~s+kn \le 2\min(d_i,d_j)~.
Với mỗi kiến, viết ~2d_i=q_in+r_i~. Nếu ~d_i~ là quãng đường nhỏ hơn trong cặp, đóng góp là ~q_i~ cộng thêm ~1~ nếu kiến đối hướng nằm trong đoạn độ dài ~r_i~ theo hướng gặp nhau.
Tách các cặp theo hướng và theo quan hệ giữa hai giá trị ~d~. Quét theo thứ tự ~d~, dùng Fenwick tree để đếm số kiến đối hướng trong đoạn tròn và dùng Fenwick cộng đoạn để xử lý phần cộng thêm.
Độ phức tạp ~O(n\log n)~.
Bình luận