#abc301h. [abc301_h]Difference of Distance

[abc301_h]Difference of Distance

问题说明

我们有一个有NN个顶点编号为11NNMM条边编号为11MM的连通无向图。边ii连接顶点UiU_i和顶点ViV_i,并且具有整数权重WiW_i。对于1s,tN,st1\leq s,t \leq N,s\neq t,我们定义d(s,t)d(s,t)如下。

  • 对于连接顶点ss和顶点tt的每条路径,考虑该路径上边的最大权重。d(s,t)d(s,t)是这些权重的最小值。

回答QQ个查询。第jj个查询如下。

  • 给出Aj,Sj,TjA_j,S_j,T_j。当边AjA_j的权重增加11时,d(Sj,Tj)d(S_j,T_j)将增加多少?

注意,每个查询实际上不改变边的权重。

约束条件

  • 2N2×1052\leq N \leq 2\times 10^5
  • N1M2×105N-1\leq M \leq 2\times 10^5
  • 1Ui,ViN1 \leq U_i,V_i \leq N
  • UiViU_i \neq V_i
  • 1WiM1 \leq W_i \leq M
  • 给定的图是连通的。
  • 1Q2×1051\leq Q \leq 2\times 10^5
  • 1AjM1 \leq A_j \leq M
  • 1Sj,TjN1 \leq S_j,T_j \leq N
  • SjTjS_j\neq T_j
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN MM U1U_1 V1V_1 W1W_1 \vdots UMU_M VMV_M WMW_M QQ A1A_1 S1S_1 T1T_1 \vdots AQA_Q SQS_Q TQT_Q

输出

输出QQ行。第jj(1jQ)(1\leq j \leq Q) 应包含第jj个查询的答案。

示例输入 1

6 6
1 2 1
3 1 5
4 1 5
3 4 3
5 6 4
2 6 5
7
1 4 6
2 4 6
3 4 6
4 4 6
5 4 6
6 4 6
5 6 5

示例输出 1

0
0
0
0
0
1
1

给定图的图像

上图显示了黑色表示的边的编号和蓝色表示的边的权重。

我们逐个解释第一个到第六个查询。

首先,考虑在给定图中d(4,6)d(4,6)。连接顶点44和顶点66的路径上边的最大权重是55,这是连接顶点44和顶点66的所有路径中的最小值,因此d(4,6)=5d(4,6)=5

接下来,考虑当边x (1x6)x\ (1 \leq x \leq 6)的权重增加11时,d(4,6)d(4,6)的增量。当x=6x=6时,我们有d(4,6)=6d(4,6)=6,增量为11。另一方面,当x6x \neq 6时,我们有d(4,6)=5d(4,6)=5,增量为00。例如,当x=3x=3时,连接顶点44和顶点66的路径上边的最大权重为66,但连接顶点44,顶点33,顶点11,顶点22,顶点66的路径上边的最大权重为55,因此d(4,6)d(4,6)仍然为55

示例输入 2

2 2
1 2 1
1 2 1
1
1 1 2

示例输出 2

0

给定的图可能包含多条边。