CF1706E.Qpwoeirut and Vertices
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a connected undirected graph with n vertices and m edges. Vertices of the graph are numbered by integers from 1 to n and edges of the graph are numbered by integers from 1 to m.
Your task is to answer q queries, each consisting of two integers l and r. The answer to each query is the smallest non-negative integer k such that the following condition holds:
- For all pairs of integers (a,b) such that l≤a≤b≤r, vertices a and b are reachable from one another using only the first k edges (that is, edges 1,2,…,k).
给你一个包含 n 个顶点和 m 条边的连通无向图。图的顶点用 1 到 n 的整数编号,图的边用 1 到 m 的整数编号。
你需要回答 q 个查询,每个查询由两个整数 l 和 r 组成。每个查询的答案是最小的非负整数 k,使得以下条件成立:
- 对于所有满足 l≤a≤b≤r 的整数对 (a,b),顶点 a 和 b 仅通过前 k 条边(即边 1,2,…,k)即可相互到达。
输入格式
The first line contains a single integer t (1≤t≤1000) — the number of test cases.
The first line of each test case contains three integers n, m, and q (2≤n≤105, 1≤m,q≤2⋅105) — the number of vertices, edges, and queries respectively.
Each of the next m lines contains two integers ui and vi (1≤ui,vi≤n) — ends of the i-th edge.
It is guaranteed that the graph is connected and there are no multiple edges or self-loops.
Each of the next q lines contains two integers l and r (1≤l≤r≤n) — descriptions of the queries.
It is guaranteed that that the sum of n over all test cases does not exceed 105, the sum of m over all test cases does not exceed 2⋅105, and the sum of q over all test cases does not exceed 2⋅105.
第一行包含一个整数 t(1≤t≤1000)—— 测试用例的数量。
每个测试用例的第一行包含三个整数 n、m 和 q(2≤n≤105,1≤m,q≤2⋅105)—— 分别表示顶点数、边数和查询数。
接下来的 m 行中,每行包含两个整数 ui 和 vi(1≤ui,vi≤n)—— 表示第 i 条边的两个端点。
保证该图是连通的,且不存在重边或自环。
接下来的 q 行中,每行包含两个整数 l 和 r(1≤l≤r≤n)—— 表示一次查询。
保证所有测试用例的 n 之和不超过 105,所有测试用例的 m 之和不超过 2⋅105,所有测试用例的 q 之和不超过 2⋅105。
输出格式
For each test case, print q integers — the answers to the queries.
对于每个测试用例,输出 q 个整数——即各查询的答案。
输入输出样例
输入#1
3 2 1 2 1 2 1 1 1 2 5 5 5 1 2 1 3 2 4 3 4 3 5 1 4 3 4 2 2 2 5 3 5 3 2 1 1 3 2 3 1 3
输出#1
0 1 3 3 0 5 5 2
说明/提示
Graph from the first test case. The integer near the edge is its number.
In the first test case, the graph contains 2 vertices and a single edge connecting vertices 1 and 2.
In the first query, l=1 and r=1. It is possible to reach any vertex from itself, so the answer to this query is 0.
In the second query, l=1 and r=2. Vertices 1 and 2 are reachable from one another using only the first edge, through the path 1⟷2. It is impossible to reach vertex 2 from vertex 1 using only the first 0 edges. So, the answer to this query is 1.
Graph from the second test case. The integer near the edge is its number.
In the second test case, the graph contains 5 vertices and 5 edges.
In the first query, l=1 and r=4. It is enough to use the first 3 edges to satisfy the condition from the statement:
- Vertices 1 and 2 are reachable from one another through the path 1⟷2 (edge 1).
- Vertices 1 and 3 are reachable from one another through the path 1⟷3 (edge 2).
- Vertices 1 and 4 are reachable from one another through the path 1⟷2⟷4 (edges 1 and 3).
- Vertices 2 and 3 are reachable from one another through the path 2⟷1⟷3 (edges 1 and 2).
- Vertices 2 and 4 are reachable from one another through the path 2⟷4 (edge 3).
- Vertices 3 and 4 are reachable from one another through the path 3⟷1⟷2⟷4 (edges 2, 1, and 3).
If we use less than 3 of the first edges, then the condition won't be satisfied. For example, it is impossible to reach vertex 4 from vertex 1 using only the first 2 edges. So, the answer to this query is 3.
In the second query, l=3 and r=4. Vertices 3 and 4 are reachable from one another through the path 3⟷1⟷2⟷4 (edges 2, 1, and 3). If we use any fewer of the first edges, nodes 3 and 4 will not be reachable from one another.
第一个测试用例中的图。边旁的整数表示该边的编号。
在第一个测试用例中,图包含 2 个顶点,以及一条连接顶点 1 和 2 的边。
在第一个查询中,l=1 且 r=1。任一顶点均可从自身到达,因此该查询的答案为 0。
在第二个查询中,l=1 且 r=2。仅使用第 1 条边,即可通过路径 1⟷2 实现顶点 1 与 2 之间的相互可达。若仅使用前 0 条边,则无法从顶点 1 到达顶点 2。因此,该查询的答案为 1。
第二个测试用例中的图。边旁的整数表示该边的编号。
在第二个测试用例中,图包含 5 个顶点和 5 条边。
在第一个查询中,l=1 且 r=4。仅需使用前 3 条边,即可满足题目所述条件:
- 顶点 1 和 2 可通过路径 1⟷2(边 1)相互可达;
- 顶点 1 和 3 可通过路径 1⟷3(边 2)相互可达;
- 顶点 1 和 4 可通过路径 1⟷2⟷4(边 1 和 3)相互可达;
- 顶点 2 和 3 可通过路径 2⟷1⟷3(边 1 和 2)相互可达;
- 顶点 2 和 4 可通过路径 2⟷4(边 3)相互可达;
- 顶点 3 和 4 可通过路径 3⟷1⟷2⟷4(边 2、1 和 3)相互可达。
若使用的前若干条边数量少于 3,则无法满足条件。例如,仅使用前 2 条边时,无法从顶点 1 到达顶点 4。因此,该查询的答案为 3。
在第二个查询中,l=3 且 r=4。顶点 3 和 4 可通过路径 3⟷1⟷2⟷4(边 2、1 和 3)相互可达。若使用的前若干条边数量更少,则顶点 3 与 4 将无法相互可达。
输入解题思路,AI测评打分。不知道怎么写?