Truy vấn diện tích
Đề bài
Mô tả
Cho một đa giác lồi đỉnh trên mặt phẳng tọa độ. Các đỉnh được đánh số từ đến theo chiều kim đồng hồ; đỉnh thứ có tọa độ .
Ban đầu đa giác chưa có đường chéo nào.
Bạn cần xử lý truy vấn thuộc ba loại sau:
- A : vẽ thêm một đường chéo nối đỉnh với đỉnh . Dữ liệu đảm bảo đỉnh không kề đỉnh , đường chéo nối hai đỉnh này chưa tồn tại ngay trước truy vấn, và nó không cắt bất kỳ đường chéo nào đang có, ngoại trừ tại các đầu mút.
- R : xóa đường chéo nối đỉnh với đỉnh . Dữ liệu đảm bảo đường chéo này tồn tại ngay trước truy vấn.
- ? : các đường chéo đang có chia đa giác thành các mảnh nhỏ hơn. Hãy giải bài toán con sau: chọn bỏ đi một số mảnh (có thể không bỏ mảnh nào) sao cho:
- Mảnh chứa cả đỉnh thứ và đỉnh thứ không bị bỏ.
- Mảnh chứa cả đỉnh thứ và đỉnh thứ không bị bỏ.
- Hai mảnh nói trên vẫn liên thông với nhau.
- Tổng diện tích các mảnh bị bỏ là lớn nhất có thể.
Hai mảnh và được coi là liên thông khi và chỉ khi cả hai đều không bị bỏ và thỏa mãn một trong hai điều kiện sau:
- và có chung một cạnh.
- Tồn tại một mảnh không bị bỏ sao cho liên thông với cả và .
Lưu ý rằng trong các truy vấn loại thứ ba, không có mảnh nào thực sự bị bỏ đi. Bạn chỉ giải bài toán con và in ra tổng diện tích lớn nhất có thể của các mảnh bị bỏ. Các đỉnh và các cạnh của đa giác luôn giữ nguyên.
Dữ liệu vào
Dữ liệu vào gồm nhiều bộ dữ liệu. Mỗi bộ có dạng:
- Dòng đầu tiên chứa số nguyên (), số đỉnh của đa giác.
- dòng tiếp theo, dòng thứ chứa hai số nguyên và (), tọa độ đỉnh thứ .
- Dòng tiếp theo chứa số nguyên (), số truy vấn.
- dòng tiếp theo, mỗi dòng chứa một truy vấn theo một trong các dạng trên.
Dữ liệu vào kết thúc bằng một dòng chứa số , dòng này không phải là một bộ dữ liệu.
Dữ liệu đảm bảo:
- Tổng trên mọi bộ dữ liệu không vượt quá .
- Tổng trên mọi bộ dữ liệu không vượt quá .
Dữ liệu ra
Với mỗi truy vấn loại thứ ba, in ra một số thực trên một dòng: tổng diện tích lớn nhất có thể của các mảnh bị bỏ.
Đáp án được coi là đúng nếu sai số tương đối hoặc tuyệt đối không vượt quá . Cụ thể, gọi là đáp án của bạn và là đáp án của ban giám khảo, đáp án được chấp nhận nếu .
Ràng buộc
- , , ; đa giác lồi, các đỉnh theo chiều kim đồng hồ.
- Tổng và tổng trên mọi bộ dữ liệu đều không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 1 1 1 7 2 8 4 7 7 4 8 2 7 1 15 A 1 3 A 1 4 A 1 5 A 1 6 ? 1 3 R 1 3 A 2 4 R 1 6 A 5 7 ? 2 5 R 1 5 R 1 4 A 4 7 A 2 7 ? 7 4 0 |
24.0 0.0 3.0 |
Truy vấn 5: các đường chéo , , , chia đa giác thành 5 tam giác; giữ tam giác và tam giác , bỏ ba tam giác còn lại. Truy vấn 10: các đường chéo , , , tạo thành một dãy mảnh từ cạnh tới cạnh qua mọi mảnh, không bỏ được mảnh nào. Truy vấn 15: đang có các đường chéo , , , ; giữ các mảnh trên đường từ cạnh tới cạnh , bỏ tam giác và . |
| 4 0 0 0 2 2 2 2 0 8 A 1 3 ? 1 2 ? 1 3 ? 4 4 R 3 1 A 2 4 ? 1 4 ? 2 3 0 |
2.0 0.0 2.0 2.0 2.0 |
Hình vuông cạnh . Với đường chéo , cạnh và thuộc cùng một tam giác nên bỏ được tam giác còn lại; cạnh và ở hai tam giác khác nhau nên phải giữ cả hai. |
Bình luận