QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#2026. Minimizing Edges

الإحصائيات

Bessie has a connected, undirected graph $G$ with $N$ vertices labeled $1\ldots N$ and $M$ edges ($2\le N\le 10^5, N-1\le M\le \frac{N^2+N}{2}$). $G$ may contain self-loops (edges from nodes back to themselves), but no parallel edges (multiple edges connecting the same endpoints).

Let $f_G(a,b)$ be a boolean function that evaluates to true if there exists a path from vertex $1$ to vertex $a$ that traverses exactly $b$ edges for each $1\le a\le N$ and $0\le b$, and false otherwise. If an edge is traversed multiple times, it is included that many times in the count.

Elsie wants to copy Bessie. In particular, she wants to construct an undirected graph $G'$ such that $f_{G'}(a,b)=f_G(a,b)$ for all $a$ and $b$.

Elsie wants to do the least possible amount of work, so she wants to construct the smallest possible graph. Therefore, your job is to compute the minimum possible number of edges in $G'$.

Each input contains $T$ ($1\le T\le 5\cdot 10^4$) test cases that should be solved independently. It is guaranteed that the sum of $N$ over all test cases does not exceed $10^5$, and the sum of $M$ over all test cases does not exceed $2\cdot 10^5$.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line of the input contains $T$, the number of test cases.

The first line of each test case contains two integers $N$ and $M$.

The next $M$ lines of each test case each contain two integers $x$ and $y$ ($1\le x\le y\le N$), denoting that there exists an edge between $x$ and $y$ in $G$.

Consecutive test cases are separated by newlines for readability.

OUTPUT FORMAT (print output to the terminal / stdout):

For each test case, the minimum possible number of edges in $G'$ on a new line.

SAMPLE INPUT:

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

SAMPLE OUTPUT:

4
5
In the first test case, Elsie can construct $G'$ by starting with $G$ and removing $(2,5)$. Or she could construct a graph with the following edges, since she isn't restricted to just removing edges from $G$:
1 2
1 4
4 3
4 5
Elsie definitely cannot do better than $N-1$ since $G'$ must also be connected.

SAMPLE INPUT:

7

8 10
1 2
1 3
1 4
1 5
2 6
3 7
4 8
5 8
6 7
8 8

10 11
1 2
1 5
1 6
2 3
3 4
4 5
4 10
6 7
7 8
8 9
9 9

13 15
1 2
1 5
1 6
2 3
3 4
4 5
6 7
7 8
7 11
8 9
9 10
10 11
11 12
11 13
12 13

16 18
1 2
1 7
1 8
2 3
3 4
4 5
5 6
6 7
8 9
9 10
9 15
9 16
10 11
11 12
12 13
13 14
14 15
14 16

21 22
1 2
1 9
1 12
2 3
3 4
4 5
5 6
6 7
7 8
7 11
8 9
8 10
12 13
13 14
13 21
14 15
15 16
16 17
17 18
18 19
19 20
20 21

20 26
1 2
1 5
1 6
2 3
3 4
4 5
4 7
6 8
8 9
8 11
8 12
8 13
8 14
8 15
8 16
8 17
9 10
10 18
11 18
12 19
13 20
14 20
15 20
16 20
17 20
19 20

24 31
1 2
1 7
1 8
2 3
3 4
4 5
5 6
6 7
6 9
8 10
10 11
10 16
10 17
10 18
10 19
10 20
11 12
12 13
13 14
14 15
15 16
15 17
15 18
15 19
15 20
15 21
15 22
15 23
15 24
21 22
23 24

SAMPLE OUTPUT:

10
11
15
18
22
26
31
In each of these test cases, Elsie cannot do better than Bessie.

SCORING:

  • All test cases in input 3 satisfy $N\le 5$.
  • All test cases in inputs 4-5 satisfy $M=N$.
  • For all test cases in inputs 6-9, if it is not the case that $f_G(x,b)=f_G(y,b)$ for all $b$, then there exists $b$ such that $f_G(x,b)$ is true and $f_G(y,b)$ is false.
  • All test cases in inputs 10-15 satisfy $N\le 10^2$.
  • Test cases in inputs 16-20 satisfy no additional constraints.

Problem credits: Benjamin Qi

About Issues

We understand that our problem archive is not perfect. If you find any issues with the problem, including the statement, scoring configuration, time/memory limits, test cases, etc.

You may use this form to submit an issue regarding the problem. A problem moderator will review your issue and proceed it properly.

STOP! Before you submit an issue, please READ the following guidelines:

  1. This is not a place to publish a discussion, editorial, or requests to debug your code. Your issue will only be visible by you and problem moderators. Other users will not be able to view or reply your issues.
  2. Do not submit duplicated issues. If you have already submitted one, please wait for an moderator to review it. Submitting multiple issues will not speed up the review process and might cause your account to be banned.
  3. Issues must be filed in English or Chinese only.
  4. Be sure your issue is related to this problem. If you need to submit an issue regarding another problem, contest, category, etc., you should submit it to the corresponding page.

Active Issues 0

No issues in this category.

Closed/Resolved Issues 0

No issues in this category.