atcoder#ABC133F. [ABC133F] Colorful Tree

[ABC133F] Colorful Tree

题目描述

1 1 から N N までの番号がつけられた N N 個の頂点を持つ木があります。 この木の i i 番目の辺は頂点 ai a_i と頂点 bi b_i を結び、その色は ci c_i 、長さは di d_i です。 ここで各辺の色は 1 1 以上 N1 N-1 以下の整数で表されており、同じ整数は同じ色に、異なる整数は異なる色に対応します。

以下の Q Q 個の問いに答えてください。

  • j j (1  j  Q 1\ \leq\ j\ \leq\ Q ): 色 xj x_j のすべての辺の長さが yj y_j に変更されたと仮定して、二頂点 uj, vj u_j,\ v_j 間の距離を求めよ。(辺の長さの変更はこれ以降の問いには影響しない。)

输入格式

入力は以下の形式で標準入力から与えられる。

N N Q Q a1 a_1 b1 b_1 c1 c_1 d1 d_1 : : aN1 a_{N-1} bN1 b_{N-1} cN1 c_{N-1} dN1 d_{N-1} x1 x_1 y1 y_1 u1 u_1 v1 v_1 : : xQ x_Q yQ y_Q uQ u_Q vQ v_Q

输出格式

Q Q 行出力せよ。j j 行目 (1  j  Q 1\ \leq\ j\ \leq\ Q ) に問 j j への回答を出力すること。

题目大意

有一个 NN 个节点的树,每条边有颜色、边权。

您需要处理 QQ 个询问,每个询问给出 xi,yi,ui,vix_i,y_i,u_i,v_i,您需要求出假定所有颜色为 xix_i 的边边权全部变成 yiy_i 后,uiu_iviv_i 之间的距离。询问之间互相独立。

5 3
1 2 1 10
1 3 2 20
2 4 4 30
5 2 1 40
1 100 1 4
1 100 1 5
3 1000 3 4
130
200
60

提示

制約

  • 2  N  105 2\ \leq\ N\ \leq\ 10^5
  • 1  Q  105 1\ \leq\ Q\ \leq\ 10^5
  • 1  ai, bi  N 1\ \leq\ a_i,\ b_i\ \leq\ N
  • 1  ci  N1 1\ \leq\ c_i\ \leq\ N-1
  • 1  di  104 1\ \leq\ d_i\ \leq\ 10^4
  • 1  xj  N1 1\ \leq\ x_j\ \leq\ N-1
  • 1  yj  104 1\ \leq\ y_j\ \leq\ 10^4
  • 1  uj < vj  N 1\ \leq\ u_j\ <\ v_j\ \leq\ N
  • 与えられるグラフは木である。
  • 入力中のすべての値は整数である。

Sample Explanation 1

この入力中のグラフは次のようなものです。 ![図](https://img.atcoder.jp/ghi/ca75688b08f73eb63a30ce6daa54a781.png) ここで、色 1 1 の辺は赤い実線で、色 2 2 の辺は緑の太線で、色 4 4 の辺は青い破線で示されています。 - 問 1 1 : 色 1 1 のすべての辺の長さが 100 100 に変更されたと仮定すると、頂点 1, 4 1,\ 4 間の距離は 100 + 30 = 130 100\ +\ 30\ =\ 130 です。 - 問 2 2 : 色 1 1 のすべての辺の長さが 100 100 に変更されたと仮定すると、頂点 1, 5 1,\ 5 間の距離は 100 + 100 = 200 100\ +\ 100\ =\ 200 です。 - 問 3 3 : 色 3 3 のすべての辺の長さが 1000 1000 に変更されたと仮定すると (そのような辺は存在しません)、頂点 3, 4 3,\ 4 間の距離は 20 + 10 + 30 = 60 20\ +\ 10\ +\ 30\ =\ 60 です。この問いでは色 1 1 の辺の長さが元に戻っていることに注意してください。