Tập con đoạn thẳng lồng nhau
Đề bài
Mô tả
Cho đoạn thẳng trên trục số. Đoạn thứ có hai đầu mút và , gồm tất cả các điểm thoả mãn .
Hãy chọn ra một tập con có nhiều đoạn nhất sao cho với mọi cặp đoạn trong tập con đó, hoặc hai đoạn không có điểm chung, hoặc một đoạn nằm hoàn toàn bên trong đoạn còn lại.
Hai đoạn và được gọi là không có điểm chung nếu chúng không cùng chứa bất kỳ điểm nào. Ví dụ, cặp và , cặp và là không có điểm chung; trong khi cặp và , cặp và vẫn có điểm chung (điểm ), nên không được chọn cả hai.
Đoạn nằm trong đoạn nếu và . Ví dụ, các đoạn , , , đều nằm trong đoạn , còn và thì không.
Bạn cần trả lời bộ dữ liệu độc lập.
Dữ liệu vào
- Dòng đầu chứa số nguyên : số bộ dữ liệu.
- Với mỗi bộ dữ liệu:
- Dòng đầu chứa số nguyên : số đoạn thẳng.
- dòng tiếp theo, dòng thứ chứa hai số nguyên và .
Trong cùng một bộ dữ liệu, không có hai đoạn nào trùng nhau hoàn toàn.
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra trên một dòng số đoạn nhiều nhất có thể chọn.
Ràng buộc
- Tổng trên tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 4 1 5 2 4 2 3 3 4 5 1 5 2 3 2 5 3 5 2 2 |
3 4 |
Bộ 1: chọn . Không thể lấy thêm vì nó cắt tại điểm . Bộ 2: chọn và thêm , vì nằm trong và rời hẳn . |
| 2 3 1 3 2 4 2 3 7 1 10 2 8 2 5 3 4 4 4 6 8 7 7 |
2 7 |
Bộ 1: và cắt nhau nhưng không lồng nhau, nên nhiều nhất chỉ chọn được đoạn, chẳng hạn . Bộ 2: cả đoạn đã tạo thành một cấu trúc lồng nhau hợp lệ. |
Bình luận