HNOI 2023 Split 2, Day 2 - Chia tập
Xem dạng PDF
SUBMIT SOLUTION
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT
ID:
hnoi_2023_r2d2_chiatap
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Cho ~N~ đoạn thẳng song song với trục ~Ox~, các đoạn thẳng được đánh số từ ~1~ đến ~N~. Đoạn thẳng thứ ~i~ ~(1 \le i \le N)~ được xác định bởi điểm đầu và điểm cuối lần lượt là hai số nguyên dương ~l_i, r_i~. Hai đoạn thẳng ~i, j~ ~(1 \le i, j \le N)~ được gọi là giao nhau khi: ~(r_i - l_i) + (r_j - l_j) \ge \max(r_i, r_j) - \min(l_i, r_j)~.
Ví dụ: Như hình vẽ bên dưới:
- Đoạn thẳng thứ ~1~ và ~4~, đoạn thẳng thứ ~2~ và ~3~, ~\dots~ được gọi là giao nhau.
- Đoạn thẳng thứ ~2~ và ~5~, đoạn thẳng thứ ~1~ và ~3~, ~\dots~ không được gọi là giao nhau.

Yêu cầu: Hãy chọn ra hai tập đoạn thẳng ~S_1~ (có số lượng phần tử là ~x~) và ~S_2~ (có số lượng phần tử là ~y~) thỏa mãn:
- Mỗi đoạn thẳng trong ~N~ đoạn thẳng đã cho thuộc tối đa một tập;
- Các đoạn thẳng trong cùng một tập đôi một giao nhau;
- ~x \ge y~ và ~y~ lớn nhất.
Input Specification: Data taken from CT.INP
- Dòng đầu chứa số nguyên dương ~N~ ~(2 \le N \le 5 \times 10^5)~ là số lượng đoạn thẳng;
- ~N~ dòng tiếp theo, dòng thứ ~i~ ~(1 \le i \le N)~ chứa hai số ~l_i, r_i~ ~(1 \le l_i, r_i \le 10^9)~ mô tả điểm đầu và điểm cuối của đoạn thẳng thứ ~i~.
Output Specification: Data written in CT.OUT
- Ghi ra giá trị ~y~ thỏa mãn.
Limitations
- Có ~25\%~ số Cases ứng với ~25\%~ số điểm thỏa mãn: ~N \le 500~;
- Có ~25\%~ số Cases ứng với ~25\%~ số điểm thỏa mãn: ~N \le 5000~;
- Có ~25\%~ số Cases ứng với ~25\%~ số điểm thỏa mãn: ~N \le 10^5~;
- ~25\%~ số Cases còn lại ứng với ~25\%~ số điểm không có ràng buộc gì thêm.
Sample Case(s)
Input #1:
5
4 7
1 8
8 10
2 6
11 12
Output #1:
2
Explanation:
- Có thể có nhiều cách lựa chọn ra hai tập:
- Nếu chọn tập ~S_1~ gồm ~3~ đoạn thẳng thứ ~1, 2, 4~; tập ~S_2~ gồm ~1~ đoạn thẳng thứ ~3~ hoặc ~5~; cách này có ~x = 3, y = 1~;
- Nếu chọn tập ~S_1~ gồm ~2~ đoạn thẳng thứ ~1, 4~; tập ~S_2~ gồm ~2~ đoạn thẳng thứ ~2, 3~; cách này có ~x = 2, y = 2~;
Bình luận