Đề bài
Một đoạn thẳng trên trục số được biểu diễn bởi hai số L, R lần lượt là điểm cầu và điểm cuối của đoạn thẳng đó. Một tập hợp đẹp là tập hợp mà mỗi đoạn thẳng trong tập hợp đó có ít nhất 1 điểm chung với một đoạn khác trong đoạn. Tập hợp chỉ có 1 đoạn thẳng là tập hợp đẹp. Độ tốt của một tập hợp đẹp là số lượng đoạn thẳng trong tập hợp đó. Ví dụ:
- Tập hợp là tập hợp đẹp có độ tốt là 1.
- Tập hợp là tập hợp đẹp có độ tốt là 3.
- Tập hợp không là tập hợp đẹp.
Có N đoạn thẳng được đánh số từ 1 đến N. Đoạn thẳng thứ được biểu diễn bởi hai số nguyên và . Người ta thực hiện như sau: Thêm lần lượt các đoạn thẳng theo thứ tự từ 1 đến N, quy tắc như sau:
- Nếu đoạn có điểm chung với một tập hợp đẹp đã có thì thêm vào tập hợp đẹp đó.
- Nếu không có điểm chung với tập hợp đẹp nào thì tạo một tập hợp mới có 1 đoạn thẳng là .
- Nếu hai tập hợp đẹp giao nhau thì gộp hai tập hợp đó thành một tập hợp đẹp lớn.
Yêu cầu: Sau khi thêm đoạn thẳng thứ , hãy tính tích độ tốt của các tập hợp đẹp lúc đó.
Dữ liệu vàoDOANTOT.INP
Dữ liệu vào từ tệp văn bản DOANTOT.INP:
- Dòng đầu tiên là số nguyên dương ().
- Trong N dòng tiếp theo, dòng thứ chứa hai số nguyên dương , ().
Kết quả raDOANTOT.OUT
Kết quả ghi ra tệp văn bản DOANTOT.OUT:
- Gồm N dòng, dòng thứ chứa một số nguyên dương là số tích độ tốt của các tập hợp đẹp sau khi thêm vào đoạn thẳng thứ , chia dư cho .
Ràng buộc
- Có 30% số test tương ứng 30% số điểm có .
- 50% số test tương ứng 50% số điểm có .
- 20% số test còn lại tương ứng 20% số điểm không có ràng buộc gì thêm.
Ví dụ
6 1 3 4 5 5 7 3 4 8 10 9 11
1 1 2 4 4 8
Giải thích
Sau khi thêm đoạn thẳng thứ:
- 1: Có 1 tập đẹp độ tốt 1.
- 2: Có 2 tập đẹp độ tốt 1.
- 3: Có 1 tập đẹp độ tốt 1, 1 tập đẹp độ tốt 2.
- 4: Có 2 tập đẹp độ tốt 2.
- 5: Có 2 tập đẹp độ tốt 2, 1 tập đẹp độ tốt 1.
- 6: Có 3 tập đẹp độ tốt 2.