题目背景
风带来故事的种子,时间使之神话。
题目描述
你在 N 个锚点间,沿着 M 条有向航道,使用风之翼进行飞行。锚点依次编号为 1,2,⋯,N,有向航道依次编号为 1,2,⋯,M。第 i 条航道的出发锚点为 ui,到达锚点为 vi。
由于巴巴斯托与时间存在神秘的联系,第 i 条航道将在时刻 Oi 开启,在时刻 Ci 后关闭。也就是说,对于任意的 Oi≤t≤Ci,你可以在时刻 t 由锚点 ui 进入航道 i。进入航道后,空间上,你将直接到达锚点 vi,时间上,时间将等概率的变化为 [Li,Ri] 中的一个实数对应的时刻。注意到达一个锚点后,你必须在同一时刻立刻进入下一段航道,否则你必须在此结束飞行。
你将从锚点 S 出发,尝试访问锚点 i(1≤i≤N),你需要对于锚点 i 确定一条路径 E1,E2,E3,⋯,Ek,其中 Ex(1≤x≤k) 表示一条航道。要求 E1 从锚点 S 出发,Ek 到达锚点 i,且对于 1≤j<k,满足 Ej 的到达锚点与 Ej+1 的出发锚点相同。一条路径是稳定路径,当且仅当无论每次通过航道后时间如何变化,都可以走完整条路径。一条稳定路径的到达时间是通过路径前往锚点 i 时,最晚的可能到达锚点 i 的时刻。访问锚点 i 的稳定到达时间 Ti(i=S) 是所有到达 i 的稳定路径中到达时间的最小值。你可以在任意非负时刻出发。如果不存在访问锚点 i 的稳定路径或 i=S,则 Ti=0。
请你求出 Ti(1≤i≤N) 的最大值。
输入格式
输入共 M+1 行。
输入的第一行为三个整数 N,M,S,分别表示锚点数、航道数和起点锚点。
接下来 M 行,每行包含六个整数 ui,vi,Oi,Ci,Li,Ri,描述了第 i 条航道的有关信息,变量具体含义见题目描述部分。
输出格式
输出一行一个整数,表示 Ti 的最大值。
4 10 1
4 2 6 20111 6 11900
2 4 2 10786 13 23576
2 1 3 5274 16 13903
2 1 2 17162 1 26120
1 2 1 42040 11 16065
2 1 4 23690 18 26541
2 3 9 18977 2 26795
4 1 4 51880 1 25060
1 4 13 17776 3 28236
1 4 1 19112 1 10131
26795
见选手目录下的 wind/wind2.in 与 wind/wind2.ans。
见选手目录下的 wind/wind3.in 与 wind/wind3.ans。
见选手目录下的 wind/wind4.in 与 wind/wind4.ans。
提示
样例解释 1
对于锚点 1,显然有 T1=0。
对于锚点 2,沿路径 1→2 ,T2=16065。
对于锚点 3,沿路径 1→2→3 ,T3=26795。
对于锚点 4,沿路径 1→4 ,T4=10131。
综上所述,答案 maxTi=T3=26795。
子任务
对于所有测试数据,保证 1≤N,M≤5×105,1≤Oi,Li≤20,1≤Oi≤Ci≤109,1≤Li≤Ri≤109,1≤S≤N。
测试点编号 |
N≤ |
M≤ |
Ci,Ri≤ |
特殊性质 |
1∼4 |
20 |
109 |
无 |
5∼8 |
105 |
103 |
9∼10 |
5×105 |
A |
11∼12 |
105 |
20 |
无 |
13∼14 |
5×105 |
103 |
15∼20 |
109 |
特殊性质 A:一个锚点连接的航道数不超过 100。