trang chủ / bài tập / minedges

Tối thiểu hóa cạnh

Đề bài

Mô tả

Bessie có một đồ thị vô hướng liên thông G gồm N đỉnh (đánh số từ 1 đến N) và M cạnh. Đồ thị có thể chứa khuyên (cạnh nối một đỉnh với chính nó) nhưng không có cạnh song song.

Định nghĩa hàm fG(a,b) trả về giá trị đúng nếu tồn tại đường đi từ đỉnh 1 đến đỉnh a sử dụng đúng b cạnh (mỗi cạnh có thể được đi qua nhiều lần).

Elsie cần xây dựng đồ thị G sao cho fG(a,b)=fG(a,b) với mọi giá trị ab, đồng thời tối thiểu hóa số cạnh của G.

Dữ liệu vào

Dòng đầu tiên chứa T - số lượng bộ test.

Mỗi bộ test có dạng:

  • Dòng đầu: hai số nguyên NM.
  • M dòng tiếp theo: mỗi dòng chứa hai số nguyên xy (1xyN) mô tả một cạnh nối đỉnh x và đỉnh y.

Dữ liệu ra

Với mỗi bộ test, in ra số cạnh tối thiểu có thể có của G trên một dòng.

Ràng buộc

  • 1T5·104
  • 2N105
  • N1MN(N+1)2
  • Tổng N trên tất cả các bộ test 105
  • Tổng M trên tất cả các bộ test 2·105

Ví dụ

Input Output Giải thích
2

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

5 5
1 2
2 3
3 4
4 5
1 5
4
5
Bộ test 1: Có thể xây dựng G với 4 cạnh mà vẫn giữ nguyên tính chất đường đi từ đỉnh 1. Ví dụ, cạnh (2,5) có thể được loại bỏ vì mọi đường đi qua cạnh này đều có thể thay thế bằng đường đi khác với cùng tính chẵn lẻ.

Bộ test 2: Đồ thị gốc có một chu trình lẻ duy nhất (1-2-3-4-5-1), không thể loại bỏ cạnh nào mà giữ nguyên tính chất fG.

Ghi chú

Lưu ý rằng G cũng là đồ thị vô hướng gồm N đỉnh, có thể chứa khuyên và không có cạnh song song, nhưng không nhất thiết phải liên thông hay là đồ thị con của G.

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