加速站(boost)
题目描述
Y 同学管理一张由 n 个站点组成的树形运输网。第 i 条道路连接两个站点,通行耗时为 wi。运输中心收到 m 个任务,第 j 个任务需要从站点 uj 运送到站点 vj,并要求通行时间不超过时限 dj。因为运输网是一棵树,每个任务的通行路线唯一。
中心可以选择恰好一个站点建设临时加速站。若某个任务的路线经过这个站点,则它的通行时间可以减少 x;减少后的时间最低按 0 计算。路线没有经过加速站的任务不受影响。原本已经满足时限的任务,无论加速站建在哪里都算完成。
请计算最多可以完成多少个任务,并输出一个能够达到最大值的站点编号。若有多个站点均可达到最大值,输出编号最小的站点。
加速站只能建设在运输网中已有的站点上。所有任务彼此独立,不需要安排执行顺序,也不会占用道路容量。对于每一个任务,只需要根据最终选定的站点判断它是否满足时限。
输入格式
第一行三个整数 n,m,x。接下来 n−1 行,每行三个整数 ai,bi,wi 表示树边。最后 m 行,每行三个整数 uj,vj,dj 表示一个运输任务。
输出格式
输出两个整数:最多可以完成的任务数,以及满足要求的最小站点编号。
样例
5 4 3
1 2 3
2 3 4
2 4 2
4 5 5
1 3 5
3 5 8
1 5 10
3 4 6
4 2
数据范围与约定
对于所有数据,1≤n,m≤2×105,1≤x,wi≤106,0≤dj≤1015。
| 测试点 |
分值 |
范围 |
特殊性质 |
| 1∼4 |
20 |
n≤3×101,m≤4×101 |
无 |
| 5∼8 |
n≤6×103,m≤8×103 |
| 9∼12 |
n≤4.5×104,m≤5×104 |
| 13∼16 |
n≤1.2×105,m≤1.3×105 |
| 17∼20 |
n,m≤2×105 |