Số lượng thành phần liên thông (Olympic 30/4 K11 - 2023)

Xem dưới dạng PDF

Gửi bài giải


Điểm: 20
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Cho một đồ thị vô hướng \(A\) có \(n\) đỉnh và \(m\) cạnh. Dựa vào đồ thị \(A\) cho trước, một đồ thị \(B\) cũng có \(n\) đỉnh và \(n \times (n - 1) / 2 - m\) cạnh được định nghĩa như sau: Với hai đỉnh \(u\) và \(v\) bất kỳ, nếu không có cạnh nối giữa chúng trong đồ thị \(A\) thì có cạnh nối giữa \(u\) và \(v\) trong đồ thị \(B\).

Hãy cho biết số lượng thành phần liên thông có trong \(B\).

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên \(t\) cho biết số lượng test có trong bài.
  • Mỗi test bao gồm:
  • Dòng đầu chứa hai số nguyên \(n, m\) được mô tả như trong đề bài.
  • \(m\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u\) và \(v\) \((1 \le u, v \le n)\) cho biết có cạnh nối giữa hai đỉnh \(u\) và \(v\).

Dữ liệu ra:

  • Với mỗi test:
  • Dòng đầu tiên là một số nguyên cho biết số lượng thành phần liên thông có trong test đó.
  • Dòng thứ hai in ra độ lớn của từng thành phần liên thông theo thứ tự tăng dần.

Input 1

2
4 4
1 3
1 4
2 3
2 4
3 1
1 2

Output 1

2
2 2
1
3

Ràng buộc:

Trong tất cả các test:

  • \(1 \le t \le 100\)
  • \(1 \le n \le 200000\)
  • \(1 \le m \le min(n \times (n - 1) / 2, 200000)\)
  • Tổng của \(n\) và \(m\) trong các test \(\le 200000\)
  • Có 20% số test có\( t = 10\) và \(n \le 20\)
  • Có 20% số test khác có \(t = 20\) và \(n \le 100\)
  • Có 20% số test khác có \(t = 100\) và \(n \le 100\)
  • Có 40% số test còn lại có \(t = 100\)

Nhận xét

Không có ý kiến tại thời điểm này.