Bài toán Clique

Đề bài

Mô tả

Cho n điểm phân biệt trên một đường thẳng. Điểm thứ i có tọa độ xi và trọng số wi.

Từ các điểm này ta dựng một đồ thị vô hướng G: mỗi điểm là một đỉnh, và giữa hai đỉnh ij có cạnh nối khi và chỉ khi khoảng cách giữa chúng không nhỏ hơn tổng hai trọng số, tức là:

|xixj|wi+wj

Một clique của đồ thị là một tập con các đỉnh sao cho hai đỉnh bất kỳ trong tập đều có cạnh nối. Hãy tìm kích thước của clique lớn nhất trong đồ thị G.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n, số lượng điểm.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên xiwi, tọa độ và trọng số của điểm thứ i.

Tất cả các xi đều khác nhau.

Dữ liệu ra

In ra một số nguyên duy nhất, số đỉnh của clique lớn nhất trong đồ thị.

Ràng buộc

  • 1n200000
  • 0xi109
  • 1wi109

Ví dụ

Input Output Giải thích
4
2 3
3 1
6 1
0 2
3 Ba điểm với tọa độ 0, 3, 6 (trọng số 2, 1, 1) đôi một thỏa mãn điều kiện cạnh nối, tạo thành clique kích thước 3. Điểm (2, 3) không thể thêm vào vì quá gần điểm (0, 2) và (3, 1).
2
1 5
12 6
2 |112|=115+6=11 nên hai điểm có cạnh nối, tạo clique kích thước 2.
3
0 1
2 2
4 1
2 Điểm (2, 2) phủ đoạn quá rộng nên không nối được với hai điểm còn lại; chỉ chọn được hai điểm ngoài cùng.

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