Hello 2025
E2
Another Exercise on Graphs (hard version)
Codeforces
2500
原题
← E1F →
翻译中…

This is the hard version of the problem. The difference between the versions is that in this version, there is no additional constraint on $m$. You can hack only if you solved all versions of this problem.

翻译中…

Recently, the instructors of "T-generation" needed to create a training contest. They were missing one problem, and there was not a single problem on graphs in the contest, so they came up with the following problem.

翻译中…

You are given a connected weighted undirected graph with $n$ vertices and $m$ edges, which does not contain self-loops or multiple edges.

翻译中…

There are $q$ queries of the form $(a, b, k)$: among all paths from vertex $a$ to vertex $b$, find the smallest $k$-th maximum weight of edges on the path$^{\dagger}$.

翻译中…

The instructors thought that the problem sounded very interesting, but there is one catch. They do not know how to solve it. Help them and solve the problem, as there are only a few hours left until the contest starts.

翻译中…

$^{\dagger}$ Let $w_1 \ge w_2 \ge \ldots \ge w_{h}$ be the weights of all edges in a path, in non-increasing order. The $k$-th maximum weight of the edges on this path is $w_{k}$.

翻译中…

Input

翻译中…

Each test contains multiple test cases. The first line contains a single integer $t$ ($1 \le t \le 100$) — the number of test cases. The description of the test cases follows.

翻译中…

The first line of each set of test case contains three integers $n, m$ and $q$ ($2 \le n \le 400$, $n - 1 \le m \le \frac{n \cdot (n - 1)}{2}$, $1 \le q \le 3 \cdot 10^5$) — the number of vertices, the number of edges, and the number of questions, respectively.

翻译中…

Each of the following $m$ lines of each set of test case contains three integers $v, u$ and $w$ ($1 \le v, u \le n$, $1 \le w \le 10^9$) — the ends of the next edge of the graph and its weight, respectively. It is guaranteed that the graph does not contain self-loops and multiple edges.

翻译中…

Each of the following $q$ lines of each set of test case contains three integers $a, b$ and $k$ ($1 \le a, b \le n$, $k \ge 1$) — the next question. It is guaranteed that any path from vertex $a$ to vertex $b$ contains at least $k$ edges.

翻译中…

It is guaranteed that the sum of the values of $n$ across all sets of test cases does not exceed $400$.

翻译中…

It is guaranteed that the sum of the values of $q$ across all sets of test cases does not exceed $3 \cdot 10^5$.

翻译中…

Output

翻译中…

For each set of test case, output the answers to all questions.

翻译中…

Note

翻译中…

In the first set of test cases, one of the optimal paths in the first query is the path $1 \rightarrow 3 \rightarrow 4$; the $2$-nd maximum weight of the edges on this path is $1$. In the second query, one of the optimal paths is $2 \rightarrow 4 \rightarrow 3$; $1$-st maximum weight of the edges is $2$.

翻译中…

In the second set of input data, one of the optimal paths in the first query is the path $1 \rightarrow 2 \rightarrow 4 \rightarrow 5 \rightarrow 6$; the $3$-rd maximum weight of the edges on this path is $2$.

翻译中…

样例

Input #1
3
4 4 2
1 2 2
2 4 2
1 3 4
3 4 1
1 4 2
2 3 1
6 7 3
1 2 10
2 3 3
3 4 9
4 5 2
5 6 1
2 4 10
4 6 10
1 6 3
1 6 2
2 4 1
11 17 10
1 4 5
1 3 19
1 2 10
3 2 13
4 5 1
4 6 11
3 5 9
3 6 18
2 7 17
5 8 15
5 10 8
6 9 4
7 10 20
7 8 16
8 11 3
9 11 6
10 11 14
3 11 1
3 11 3
1 11 1
1 11 4
1 11 3
8 2 2
10 4 1
3 9 2
3 9 1
6 7 3
Output #1
1 2
2 9 9
11 3 11 1 3 10 8 4 11 4
InputCopy OutputCopy
题目信息
题号
2057E2
所属比赛
时间限制
3 s
内存限制
1024 MB
标签
二分
DFS 及类似
动态规划
并查集
图论
最短路
排序

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。