Xoá một đoạn

Đề bài

Mô tả

Cho n đoạn thẳng trên trục số Ox: [l1,r1],[l2,r2],,[ln,rn]. Đoạn [l,r] phủ tất cả các điểm thực x thoả mãn lxr.

Các đoạn có thể nằm trong nhau, trùng nhau hoặc cắt nhau tuỳ ý. Một đoạn cũng có thể suy biến thành một điểm khi li=ri.

Hợp của một tập đoạn là tập các đoạn rời nhau (không cắt nhau, không chạm nhau) có hợp đúng bằng tập điểm mà tập đoạn gốc phủ. Ví dụ:

  • Với n=3 và các đoạn [3,6],[100,100],[5,8] thì hợp gồm 2 đoạn [3,8][100,100].
  • Với n=5 và các đoạn [1,2],[2,3],[4,5],[4,6],[6,6] thì hợp gồm 2 đoạn [1,3][4,6].

Yêu cầu: hãy chọn đúng một đoạn để xoá khỏi tập sao cho số đoạn trong hợp của n1 đoạn còn lại là lớn nhất có thể.

Lưu ý: nếu có nhiều đoạn giống hệt nhau, mỗi lần ta chỉ xoá được một đoạn, vì vậy tập sau khi xoá luôn có đúng n1 đoạn.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số bộ dữ liệu.
  • Với mỗi bộ:
    • Dòng đầu chứa số nguyên n — số đoạn.
    • n dòng tiếp theo, mỗi dòng chứa hai số nguyên li,ri.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một số nguyên là số đoạn lớn nhất trong hợp của n1 đoạn sau khi xoá đi đúng một đoạn nào đó.

Ràng buộc

  • 1t104
  • 2n2·105
  • 109liri109
  • Tổng n qua tất cả các bộ dữ liệu không vượt quá 2·105.

Ví dụ

Input Output Giải thích
3
4
1 4
2 3
3 6
5 7
3
5 5
5 5
5 5
6
3 3
1 1
5 5
1 5
2 2
4 4
2
1
5
Bộ 1: xoá đoạn [3,6] còn [1,4],[2,3],[5,7], hợp gồm 2 đoạn [1,4][5,7].
Bộ 2: ba đoạn đều là điểm 5, xoá đoạn nào cũng còn lại hai đoạn [5,5], hợp gồm 1 đoạn.
Bộ 3: xoá đoạn [1,5] còn 5 đoạn điểm {1,2,3,4,5} tách rời nhau, hợp gồm 5 đoạn.
4
2
-1000000000 1000000000
-1000000000 1000000000
2
-1000000000 0
0 1000000000
2
-1000000000 -1
1 1000000000
2
-1000000000 1
-1 1000000000
1
1
1
1
Trong cả 4 bộ, sau khi xoá một đoạn vẫn còn 1 đoạn duy nhất, nên hợp gồm 1 đoạn.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0