第 4 题 我的缆车 (mitelefrico)
时间限制 1.0 s · 空间限制 256 MB · 133 个测试点 · 全文比较(过滤行末空格及文末回车)
本题使用文件输入输出:输入文件 mitelefrico.in,输出文件 mitelefrico.out。
译自 第24回日本情報オリンピック 本選 T3。
Mi Teleférico 指的是连接玻利维亚拉巴斯市(La Paz)及埃尔阿尔托市(El Alto)的缆车系统。
题目描述
给定一张 N 个点 M 条边的有向无环图。这张有向图的边是由 P 个公司(编号 1∼P)修建的,每条边恰好被一个公司修建。
节点标号 1∼N,第 i(1≤i≤M)条边由节点 Ai 指向节点 Bi,且是公司 Ci 修建的。这里,保证 Ai<Bi。
有 Q 个询问,每个询问给定区间 [L,R](1≤L≤R≤P)和钱数 X。目标是从 1 号点只经过编号 ∈[L,R] 的公司修建的边,可以到达其他任意一个节点。
为此,可以选择一个新的区间 [l′,r′](1≤l′≤r′≤P),将 [L,R] 变为 [l′,r′]。这会花费 ∣L−l′∣+∣R−r′∣ 的代价,这个操作至多只能执行一次。操作的代价必须不大于钱数 X。
对于每个询问,判断是否能够达成目标。
输入格式
如下所示:
文本
N M P
A_1 B_1 C_1
A_2 B_2 C_2
⋮
A_M B_M C_M
Q
L_1 R_1 X_1
L_2 R_2 X_2
⋮
L_Q R_Q X_Q
输出格式
对于第 i 个询问,如果可以达成,输出一行一个 Yes;否则输出一行一个 No。
样例
样例 1
输入:
文本
4 6 10
1 2 3
2 4 7
1 2 6
2 3 5
3 4 2
3 4 8
4
3 7 0
5 6 0
3 4 0
1 9 0
输出:
样例 2
输入:
文本
4 6 10
1 2 3
2 4 7
1 2 6
2 3 5
3 4 2
3 4 8
3
5 6 10
3 4 1
7 8 3
输出:
样例 3
输入:
文本
3 1 1000000000
1 2 6
1
1 1000000000 1000000000
输出:
样例 4
输入:
文本
5 9 2000
2 3 1814
2 3 457
1 2 1226
3 4 1354
1 5 1050
1 2 1725
2 3 1383
1 5 1626
1 4 1795
5
850 1872 128
82 428 1217
487 924 573
1639 1926 202
202 420 25
输出:
提示
样例解释
样例 1 解释
第 1 个询问中,[3,7] 已经可以满足条件,无需进行操作。
第 2 个询问中,[5,6] 不满足条件,然后无法进行任何操作,所以无法达成目标。
该样例满足所有子任务的限制。
样例 2 解释
第 1 个询问中,选择 l′=1,r′=5,花费 5 的代价可以达成目标。
该样例满足子任务 2, 3, 5 ~ 7 的限制。
样例 3 解释
该样例满足子任务 6, 7 的限制。
样例 4 解释
该样例满足子任务 5 ~ 7 的限制。
数据范围
- 2≤N≤3×105.
- 1≤M≤3×105.
- 1≤P≤109.
- 1≤Ai<Bi≤N(1≤i≤M).
- 1≤Ci≤P(1≤i≤M).
- 1≤Q≤4×105.
- 1≤Li≤Ri≤P(1≤i≤Q).
- 0≤Xi<109(1≤i≤Q).
- 输入的都是整数。
子任务
- (7pts) N,M,Q≤50,Xi=0(1≤i≤Q).
- (8pts) P≤10.
- (11pts) P≤100.
- (23pts) P≤3×105,Xi=0(1≤i≤Q).
- (9pts) P≤3×105.
- (22pts) N,M≤8000.
- (20pts) 无额外限制.