AT_abc133_f.[ABC133F] Colorful Tree
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一棵包含 N 个顶点的树,顶点编号为 1 到 N。这棵树的第 i 条边连接顶点 ai 和顶点 bi,其颜色为 ci,长度为 di。每条边的颜色用 1 到 N−1 之间的整数表示,相同的整数表示相同的颜色,不同的整数表示不同的颜色。
请回答以下 Q 个询问。
- 第 j 个询问(1≤j≤Q):假设所有颜色为 xj 的边的长度都被修改为 yj,求顶点 uj 和顶点 vj 之间的距离。(边的长度修改仅在本次询问中有效,不影响之后的询问。)
输入格式
输入以如下格式从标准输入读入。
N Q
a1 b1 c1 d1
a2 b2 c2 d2
⋮
aN−1 bN−1 cN−1 dN−1
x1 y1 u1 v1
x2 y2 u2 v2
⋮
xQ yQ uQ vQ
输出格式
输出 Q 行,第 j 行输出第 j 个询问的答案。
输入输出样例
输入#1
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
输出#1
130 200 60
说明/提示
限制条件
- 2≤N≤105
- 1≤Q≤105
- 1≤ai,bi≤N
- 1≤ci≤N−1
- 1≤di≤104
- 1≤xj≤N−1
- 1≤yj≤104
- 1≤uj<vj≤N
- 给定的图是一棵树。
- 输入中的所有值均为整数。
样例解释 1
输入中的图如下所示。

其中,颜色 1 的边用红色实线表示,颜色 2 的边用绿色粗线表示,颜色 4 的边用蓝色虚线表示。
- 询问 1:假设所有颜色为 1 的边的长度都变为 100,则顶点 1 和 4 之间的距离为 100+30=130。
- 询问 2:假设所有颜色为 1 的边的长度都变为 100,则顶点 1 和 5 之间的距离为 100+100=200。
- 询问 3:假设所有颜色为 3 的边的长度都变为 1000(但实际上不存在颜色为 3 的边),则顶点 3 和 4 之间的距离为 20+10+30=60。注意在本次询问后,颜色 1 的边长度已恢复为原值。