#ABC133F. 彩色树

彩色树

彩色树

题目描述

有一棵具有 NN 个顶点、编号为 11NN 的树。

这棵树的第 ii 条边连接顶点 aia_i 和顶点 bib_i,它的颜色是 cic_i,长度是 did_i。这里,每条边的颜色用 11N1N-1 之间的整数表示,相同的整数对应同一种颜色,不同的整数对应不同的颜色。

请回答下面的 QQ 个问题。

  • 问题 jj (1jQ1 \le j \le Q): 假设颜色为 xjx_j 的所有边的长度都改为 yjy_j,求两个顶点 uj,vju_j, v_j 之间的距离。(边长的修改不影响之后的问题。)

输入格式

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

NN QQ
a1a_1 b1b_1 c1c_1 d1d_1
::
aN1a_{N-1} bN1b_{N-1} cN1c_{N-1} dN1d_{N-1}
x1x_1 y1y_1 u1u_1 v1v_1
::
xQx_Q yQy_Q uQu_Q vQv_Q

输出格式

输出 QQ 行。第 jj 行 (1jQ1 \le j \le Q) 输出问题 jj 的答案。

样例

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

这个输入中的图如下所示。

这里,颜色 11 的边用红色实线表示,颜色 22 的边用绿色粗线表示,颜色 44 的边用蓝色虚线表示。

  • 问题 11: 假设颜色 11 的所有边的长度都改为 100100,则顶点 1,41, 4 之间的距离为 100+30=130100 + 30 = 130

  • 问题 22: 假设颜色 11 的所有边的长度都改为 100100,则顶点 1,51, 5 之间的距离为 100+100=200100 + 100 = 200

  • 问题 33: 假设颜色 33 的所有边的长度都改为 10001000(这样的边不存在),则顶点 3,43, 4 之间的距离为 20+10+30=6020 + 10 + 30 = 60。注意这个问题中颜色 11 的边长度已经恢复原状。

数据范围

  • 2N1052 \le N \le 10^5
  • 1Q1051 \le Q \le 10^5
  • 1ai,biN1 \le a_i, b_i \le N
  • 1ciN11 \le c_i \le N-1
  • 1di1041 \le d_i \le 10^4
  • 1xjN11 \le x_j \le N-1
  • 1yj1041 \le y_j \le 10^4
  • 1uj<vjN1 \le u_j \lt v_j \le N
  • 给定的图是一棵树
  • 输入中的所有值都是整数
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
1745
类型
传统题
Time Limit
4000ms
Memory Limit
1024MiB
上传者
标签