Tập đoạn tốt (HSG9 HN 2024)

Xem PDF

Nộp bài

Điểm: 2000 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 1G
Input: DOANTOT.INP
Output: DOANTOT.OUT

Dạng bài

Một đoạn thẳng được mô tả bằng 1 cặp số nguyên [L,R]. Hai đoạn thẳng được gọi là giao nhau nếu chúng có ít nhất 1 điểm chung.

Một tập đoạn tốt là tập các đoạn thẳng sao cho với mỗi một đoạn thẳng trong tập đều giao nhau với ít nhất 1 đoạn thẳng khác nhau trong tập đó (coi tập đoạn thẳng chỉ có 1 đoạn thẳng duy nhất là tập đoạn tốt). Ví dụ, tập {[1,3],[4,5],[5,7],[3,4]} hay {[1,4],[2,3]} là 1 tập đoạn tốt, còn {[1,4],[3,5],[6,7]} thì không phải là tập đoạn tốt. Độ tốt của 1 tập đoạn là số lượng cấc đoạn trong tập đó.

Lưu ý: Hai tập đoạn tốt có ít nhất 1 điểm chung sẽ được gộp thành 1 tập đoạn tốt lớn hơn có độ tốt bằng tổng hai tập đoạn tốt đó.

Yêu cầu: Ban đầu tập đoạn thẳng không có đoạn thẳng nào. Cho N đoạn thẳng. Mỗi lần lấy 1 đoạn thẳng theo thứ tự thêm vào tập đoạn thẳng, đoạn thứ i được biểu diễn bởi 2 số nguyên dương (L_i, R_i). Yêu cầu tính tích độ tốt của các tập đoạn tốt được sinh ra từ tập đoạn thẳng hiện tại sau khi thêm đoạn thẳng thứ i. Do kết quả rất lớn, in ra phần dư của đáp án sau khi chia cho 10^9+7.

Input, Output và Scoring

Input (DOANTOT.INP)
  • Dòng đầu chứa số nguyên N (1 \le N \le 10^5).
  • Trong N dòng tiếp theo, dòng thứ i chứa 2 số nguyên dương L_i, R_i (L_i \le R_i \le 10^9).
Output (DOANTOT.OUT)
  • Gồm N dòng, dòng thứ i chứa số nguyên dương là kết quả theo yêu cầu đề bài khi thêm đoạn thẳng thứ i.
Subtasks
  • Subtask 1 (30\%) L_i = R_i ∀ 1 \le i \le n, n \le 30.
  • Subtask 2(50\%) R_i \le 1000 ∀ 1 \le i \le n, n \le 1000.
  • Subtask 3 (20\%) không có ràng buộc gì thêm.

Test

Input (DOANTOT.INP)
6
1 3
4 5
5 7
3 4
8 10
9 11
Output (DOANTOT.OUT)
1
1
2
4
4
8
Note

Sau khi thêm đoạn thứ:

  • 1: Có 1 tập đoạn tốt độ tốt 1 là {[1,3]}.
  • 2: Có 2 tập đoạn tốt độ tốt 1 là {[1,3]} và {[4,5]}.
  • 3: Có 1 tập đoạn tốt độ dài 1 là {[1,3]}, 1 tập đoạn tốt độ dài 2 là {[4,5],[5,7]}.
  • 4: Có 1 tập đoạn tốt độ dài 4 là {[1,3],[4,5],[5,7],[3,4]}.
  • 5: Có 1 tập đoạn tốt độ dài 1 là {[8,10]}, 1 tập đoạn tốt độ dài 4 là {[1,3],[4,5],[5,7],[3,4]}.
  • 6: Có 1 tập đoạn tốt độ dài 2 là {[8,10],[9,11]}, 1 tập đoạn tốt độ dài 4 là {[1,3],[4,5],[5,7],[3,4]}.

Bình luận

Không có bình luận nào.