该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
[AdditionalFile137.zip](file://AdditionalFile137.zip?type=additional_file)
题目描述
给你一个 n 个点 m 条边的无向连通图,编号为 1 到 n ,没有自环,可能有重边,每一条边有一个正权值 w 。给出 q 个询问,每次给出两个不同的点 u 和 v ,求一条从 u 到 v 的路径上边权的最大值最小是多少。
输入格式
输入第一行两个整数 n,m。
接下来 m 行,每行三个整数 ai,bi,wi(ai=bi),表示一条连接传送点 ai 和 bi 的道路,上面的蒟蒻数量为 wi。
接下来一行一个整数 q,表示询问数量。
接下来一行四个整数 A,B,C,P,表示询问的生成方式。
由于本题数据规模极大,直接输入输出会占用比计算多数倍的时间,因此对询问的输入输出进行了压缩。
输入压缩方法是:读入四个整数 A,B,C,P,每次询问调用以下函数生成 u 和 v:
int A, B, C, P;
int rnd() {
return A = (A * B + C) % P;
}
每次询问时的调用方法为:
u = rnd() % n + 1, v = rnd() % n + 1;
若 u 和 v 相等则答案为 0。
数据保证 0≤A<P,0≤C<P,P(B+1)<231−1。
输出格式
输出共一行一个整数,表示所有询问的答案之和模 1000000007 的值。
由于本题数据规模极大,直接输入输出会占用比计算多数倍的时间,因此对询问的输入输出进行了压缩。
输出压缩方法是:输出所有询问的答案之和模 1000000007 的值。
样例
输入
5 7
1 2 8
2 3 9
3 1 2
3 4 7
1 4 4
3 5 6
1 4 9
10
233 17 66666 19260817
输出
32
数据范围与提示
| 测试点编号 |
n |
m |
q |
w |
备注 |
| 1 |
100 |
99 |
100 |
1≤wi≤103 |
ai=bi−1 |
| 2 |
|
| 3 |
200 |
| 4 |
2000 |
1999 |
2000 |
ai=bi−1 |
| 5 |
|
| 6 |
5000 |
| 7 |
10000 |
9999 |
200000 |
| 8 |
30000 |
| 9 |
30000 |
29999 |
ai=bi−1 |
| 10 |
50000 |
|
| 11 |
40000 |
39999 |
500000 |
1≤wi≤109+7 |
| 12 |
80000 |
| 13 |
70000 |
69999 |
| 14 |
100000 |
| 15 |
69999 |
5000000 |
ai=bi−1 |
| 16 |
7000000 |
|
| 17 |
10000000 |
| 18 |
100000 |
5000000 |
| 19 |
7000000 |
| 20 |
10000000 |
对于 100% 的数据,n≤70000,m≤100000,q≤107。