#NK202508G. 最小生成树

最小生成树

问题描述

给定一张含有nn个点与mm条边的带权无向简单图,每条边权要求是1到kk之间的整数。希望再加一条满足边权限制的边,使得新图是一张存在至少一个生成树的简单图,且新加的边一定在它的任何一个最小生成树里。要求计算有多少种方案,输出方案数模(109+7)(10^9 + 7)的值。

输入格式

  • 第一行包含一个整数T(1T105)T(1 \leq T \leq 10^5),表示测试用例的数量
  • 接下来是TT个测试用例。对于每个测试用例:
    • 第一行包含三个整数nnmmkk

    • 1n105,1 \leq n \leq 10^5, 0m 0 \leq m \leq min(2×105,n(n1)2),\min(2 \times 10^5, \frac{n(n - 1)}{2}), 1k1091 \leq k \leq 10^9

    • 接下来的mm行描述给定的简单图,每行包含三个整数uuvvw(1u,vn,uv,1wk)w(1 \leq u, v \leq n, u \neq v, 1 \leq w \leq k),表示一条连接uuvv的权重为ww的边

  • 保证TT个测试用例中NN之和、MM之和分别不超过5×1055 \times 10^510610^6

输出格式

对于每个测试用例,在一行中输出一个整数,表示满足要求的加边方案数模(109+7)(10^9 + 7)

提示

  • 简单图:不存在重复边和自环的图
  • 连通图:图中任意两点间存在至少一条路径的图

输入输出样例 #1

输入 #1

5
3 2 2
1 2 1
2 3 2
3 3 5
1 2 3
2 3 4
1 3 5
2 1 3
1 2 3
6 6 5
1 2 3
1 3 1
2 4 2
3 5 2
2 6 4
5 6 5
2 0 25

输出 #1

1
0
0
20
25