#PD261011D. 穿行 (cross)

穿行 (cross)

题目描述

城市里有 mm 栋大楼,编号为 11 到 mm。大楼之间修有 m−1m-1 组天桥,任意两栋楼都可以通过天桥(可能经过其他楼)相互连通。第 kk 组天桥连接大楼 uku_k 和 vkv_k,每次通过需要缴纳过桥费 wkw_k。

第 cc 栋大楼只有第 lcl_c 层到第 rcr_c 层是开放的(lc≤rcl_c \le r_c)。用 (c,p)(c,p) 表示“第 cc 栋楼的第 pp 层”。只有当 lc≤p≤rcl_c \le p \le r_c 时,才能站在这个位置。

移动方式有两种:

  • 坐电梯: 在同一栋楼 cc 内,可以从开放的第 p1p_1 层到达开放的第 p2p_2 层,要求 p2≥p1p_2 \ge p_1(电梯只能上行),不花钱。
  • 过天桥: 若大楼 c1c_1 和 c2c_2 之间有天桥,且第 pp 层在两栋楼中都开放,即 $\max(l_{c_1},l_{c_2}) \le p \le \min(r_{c_1},r_{c_2})$,就可以从 (c1,p)(c_1,p) 走到 (c2,p)(c_2,p)。楼层不变,需缴纳这组天桥的过桥费 ww。

共有 qq 次询问,各次询问互不影响。每次询问给出九个整数 cs,ps,ct,pt,ca,pa,cb,pb,xc_s,p_s,c_t,p_t,c_a,p_a,c_b,p_b,x:

  • 小明要从 S=(cs,ps)S=(c_s,p_s) 出发,前往 T=(ct,pt)T=(c_t,p_t)。
  • 本次询问中会临时开通一条双向直达通道,连接 A=(ca,pa)A=(c_a,p_a) 和 B=(cb,pb)B=(c_b,p_b)。从 AA 到 BB 或从 BB 到 AA 的费用都是 xx,不受楼层限制。这条通道只在本次询问中有效。
  • 保证 S,T,A,BS,T,A,B 所在的楼层都是开放的。

对每次询问,求小明从 SS 到 TT 的最少花费。如果无法到达,输出 No。

输入格式

从文件 cross.in 中读入数据。

第一行一个整数 mm,表示大楼数量。

接下来 m−1m-1 行,每行三个整数 uk,vk,wku_k,v_k,w_k,描述一组天桥。

接下来 mm 行,第 cc 行两个整数 lc,rcl_c,r_c,表示第 cc 栋楼的开放楼层范围。

接下来一行一个整数 qq,表示询问次数。

接下来 qq 行,每行九个整数 cs,ps,ct,pt,ca,pa,cb,pb,xc_s,p_s,c_t,p_t,c_a,p_a,c_b,p_b,x,描述一次询问。

输出格式

输出到文件 cross.out 中。

对每次询问输出一行。若能到达,输出最少花费(一个整数),否则输出 No。

样例1输入

4
1 2 3
1 3 5
3 4 2
10 40
20 60
15 45
30 70
3
2 25 4 65 1 10 4 70 1000
4 65 2 25 4 70 1 10 1000
2 45 4 65 2 30 3 40 7

样例1输出

10
1003
No

样例1解释

第 11 次询问:在第 2525 层依次走 2→1→32 \to 1 \to 3,在 33 号楼坐电梯升到第 3030 层,过天桥到 44 号楼,再坐电梯升到第 6565 层。花费 3+5+2=103+5+2=10。

第 22 次询问:起点在第 6565 层,而 44 号楼通往 33 号楼的天桥最高只到第 4545 层,电梯又不能下行,所以无法直接走天桥。可以先坐电梯升到第 7070 层,走直达通道到 (1,10)(1,10),再坐电梯升到第 2525 层,过天桥到达 (2,25)(2,25)。花费 1000+3=10031000+3=1003。

第 33 次询问:起点在第 4545 层,而 22 号楼通往 11 号楼的天桥最高只到第 4040 层,无法离开 22 号楼;直达通道的两端也都无法到达,所以输出 No。

样例2输入

5
1 2 3
1 3 5
3 4 2
4 5 1
10 40
20 60
15 45
30 70
80 90
1
2 25 5 85 2 30 3 40 5

样例2输出

No

样例3

见选手下发文件夹中的 cross3.in 与 cross3.ans。

样例4

见选手下发文件夹中的 cross4.in 与 cross4.ans。

数据范围

对于所有测试数据,保证:

  • 1≤m≤2×1051 \le m \le 2 \times 10^5,1≤q≤5×1051 \le q \le 5 \times 10^5。
  • 1≤uk,vk≤m1 \le u_k,v_k \le m,1≤wk≤1091 \le w_k \le 10^9。
  • 0≤lc≤rc≤1090 \le l_c \le r_c \le 10^9。
  • lcs≤ps≤rcsl_{c_s} \le p_s \le r_{c_s},lct≤pt≤rctl_{c_t} \le p_t \le r_{c_t}。
  • lca≤pa≤rcal_{c_a} \le p_a \le r_{c_a},lcb≤pb≤rcbl_{c_b} \le p_b \le r_{c_b}。
  • 1≤cs,ct,ca,cb≤m1 \le c_s,c_t,c_a,c_b \le m,0≤x≤1090 \le x \le 10^9。
  • 天桥把所有大楼连成一棵树。

本题共 2424 个测试点,采用捆绑测试。只有通过一个子任务内的全部测试点,才能获得该子任务的全部分数;否则该子任务得 00 分。

子任务编号 测试点编号 分值 m≤m \le q≤q \le 特殊性质
1 1∼21 \sim 2 5 10 无
2 3∼43 \sim 4 8 200
3 5∼65 \sim 6 10 3000
4 7∼87 \sim 8 7 2×1052 \times 10^5 2×1052 \times 10^5 A
5 9∼119 \sim 11 9 B
6 12∼1312 \sim 13 7 C
7 14∼1514 \sim 15 9 D
8 16∼1716 \sim 17 7 E
9 18∼2118 \sim 21 18 无
10 22∼2422 \sim 24 20 5×1055 \times 10^5

特殊性质 A:所有大楼的开放楼层范围相同。

特殊性质 B:大楼排成一排,即第 kk 组天桥满足 uk=k,vk=k+1u_k=k,v_k=k+1。

特殊性质 C:所有天桥都连向 11 号楼,即第 kk 组天桥满足 uk=1,vk=k+1u_k=1,v_k=k+1。

特殊性质 D:每次询问中,csc_s 与 ctc_t 之间的树上简单路径经过的天桥数不超过 5050。

特殊性质 E:每次询问的 x=0x=0。