Logo Universal Online Judge

UOJ

时间限制:2 s 空间限制:512 MB
Statistics

【题目描述】
你的团队发现了一处规模庞大的古迹,有 m 个文明都曾在此出现,经过实地探寻, 你还发现了这些文明都存在于一条分支众多的河流旁。
这一条河流沿岸有 n 个栖居地,由 1 到 n 依次编号,并由 n − 1 段河流分支将它们 联结起来,这样任意两个栖居地都可以通过若干段河流互相到达。
每一个文明都依靠着若干段河流以及河流旁的栖居地而发展,第 i 个文明繁荣于第 xi 个栖居地到第 yi 个栖居地路径上的栖居地,它的发展程度可以由一个繁荣值 wi 来衡 量。
为了让更多人了解这些文明曾经的繁荣,你准备了 q 条两个栖居地之间的路径作为 观光路线。作为一条观光路线,定义其价值为经过的文明的繁荣值之和,注意重复经过 同一个文明的多个栖居地不会累加多次繁荣值。你需要计算每条观光路线的价值。
【输入格式】
从文件 explore.in 中读入数据。
第一行两个整数 n, m, q 表示栖居地个数,文明个数与观光路线条数。
接下来 n − 1 行,每行两个整数 u, v 表示存在一条直接连接栖居地 u, v 的河流分支。
保证每两个栖居地都可以经过若干条河流分支互相到达。
接下来 m 行,每行三个整数 xi , yi , wi 描述一个文明的信息。
接下来 q 行,每行两个整数 ui , vi 表示一条观光路线的起点与终点。
【输出格式】
输出到文件 explore.out 中。
共 q 行,第 i 行一个整数表示第 i 条观光路线的价值。
【样例 1 输入】

5 3 2
1 2
2 3
3 4
4 5
1 2 1
3 5 2
1 5 4
1 3
4 4
【样例 1 输出】

76
【样例 1 解释】
对于第一次询问,观光路线经过第 1, 2, 3 个文明,答案为 $1 + 2 + 4 = 7$;
对于第二次询问,观光路线经过第 2, 3 个文明,答案为 $2 + 4 = 6$。
【样例 2、3】
见 /ex_explore2.in,/ex_explore3.in 与 /ex_explore2.out,/ex_explore3.out。
样例 2、3
【测试点约束】
对于所有测试点:$1 ≤ n, m, q ≤ 3 × 10^5,1 ≤ u, v, x, y ≤ n,1 ≤ w ≤ 10^9$。
每个测试点的具体限制见下表:

测试点编号 n ≤ m ≤ q ≤ 特殊限制
5 ∼ 8 4000 4000 4000
9 ∼ 12 $10^5$ $10^5$ $10^5$ A
13 ∼ 16 $10^5$ $10^5$ $10^5$ B
17 ∼ 20 $3 × 10^5$ $3 × 10^5$ $3 × 10^5$

特殊限制 A:xi = yi
特殊限制 B:第 i 条河流分支连接第 i 与第 i + 1 个栖居地。