比赛场次 571
比赛名称 4043级2023省选模拟赛3
比赛状态 已结束比赛成绩
开始时间 2023-03-24 18:40:00
结束时间 2023-03-24 22:30:00
开放分组 全部用户
注释介绍 发散思维,莫着急
题目名称 接水果
输入输出 fruit_hnoi2015.in/out
时间限制 6000 ms (6 s)
内存限制 512 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分

接水果

★★★★   输入文件:fruit_hnoi2015.in   输出文件:fruit_hnoi2015.out   简单对比
时间限制:6 s   内存限制:512 MiB

【题目描述】

风见幽香非常喜欢玩一个叫做 $osu!$ 的游戏,其中她最喜欢玩的模式就是接水果。由于她已经 $DT$ $FC$ 了 $The\ big\ black$,她觉得这个游戏太简单了,于是发明了一个更加难的版本。

首先有一个地图,是一棵由 $n$ 个顶点,$n-1$ 条边组成的树。

这颗树上有 $p$ 个盘子,每个盘子实际上是一条路径,并且每个盘子还有一个权值。第 $i$ 个盘子就是顶点 $a_i$ 到顶点 $b_i$ 的路径(由于是树,所以从 $a_i$ 到 $b_i$ 的路径是唯一的),权值为 $c_i$。

接下来依次会有 $q$ 个水果掉下来,每个水果本质上也是一条路径,第 $i$ 个水果是从顶点 $u_i$ 到顶点 $v_i$ 的路径。

幽香每次需要选择一个盘子去接当前的水果:一个盘子能接住一个水果,当且仅当盘子的路径是水果的路径的子路径。这里规定:从 $a$ 到 $b$ 的路径与从 $b$ 到 $a$ 的路径是同一条路径。

当然为了提高难度,对于第 $i$ 个水果,你需要选择能接住它的所有盘子中,权值第 $k_i$ 小的那个盘子,每个盘子可重复使用(没有使用次数的上限:一个盘子接完一个水果后,后面还可继续接其他水果,只要它是水果路径的子路径)。幽香认为这个游戏很难,你能轻松解决给她看吗?

【输入格式】

第一行三个数 $n$ 和 $p$ 和 $q$,表示树的大小和盘子的个数和水果的个数。

接下来 $n-1$ 行,每行两个数 $a,b$,表示树上的 $a$ 和 $b$ 之间有一条边。树中顶点按 $1$ 到 $n$ 标号。

接下来 $p$ 行,每行三个数 $a,b,c$,表示路径为 $a$ 到 $b$、权值为 $c$ 的盘子,其中 $a \neq b$。

接下来 $q$ 行,每行三个数 $u,v,k$,表示路径为 $u$ 到 $v$ 的水果,其中 $u \neq v$,你需要选择第 $k$ 小的盘子,第 $k$ 小一定存在。

【输出格式】

对于每个果子,输出一行表示选择的盘子的权值。

【样例1输入】

10 10 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
3 2 217394434
10 7 13022269
6 7 283254485
6 8 333042360
4 6 442139372
8 3 225045590
10 4 922205209
10 8 808296330
9 2 486331361
4 9 551176338
1 8 5
3 8 3
3 8 4
1 8 3
4 8 1
2 3 1
2 3 1
2 3 1
2 4 1
1 4 1

【样例1输出】

442139372
333042360
442139372
283254485
283254485
217394434
217394434
217394434
217394434
217394434

【样例2】

点击下载样例2

【数据规模与约定】

对于 $20\%$ 的数据,$1\leq n,p,q \leq 3\times 10^3$;

对于另 $30\%$ 的数据,$1\leq n,p,q \leq 4\times 10^4$,树是一条链;

对于 $100\%$ 的数据,$1\leq n,p,q \leq 4\times 10^4$,$0 \le c \le 10^9$。