#L3189. 「ROI 2019 Day1」运输 20/19

「ROI 2019 Day1」运输 20/19

题目描述

译自 ROI 2019 Day1 T3. Экспресс 20/19

给一个有 nn 个结点 mm 条边的 DAG。所有边均从编号小的结点指向编号大的结点。给出每条边的长度。

给一个常数 pp。我们估计某条路径的总长度(这条路径上每条边的长度之和)为 rr,而它的总长度实际上为 xx,如果

rxpp1rr \leqslant x \leqslant \frac{p}{p-1} \cdot r

则称「估计这条(实长为 xx 的)路线的长度为 rr 是合理的」。

qq 组查询。第 ii 组查询包含两个数 fi,rif_i, r_i。对于每组查询,试求是否存在一条以 11 号结点为起点,以 fif_i 为终点的路径,满足:估计这条路线的长度为 rir_i 是合理的。

输入格式

每个输入文件包含多组数据。 文件的第一行:数据组数 tt

每组数据的第一行:n,m,q,pn, m, q, p。 接下来 mm 行:vi,wi,div_i, w_i, d_i,表示一条边。 接下来 qq 行:fi,rif_i, r_i,表示一个查询。

输出格式

对于每组数据输出一行,每行一个长度为 qq 的 01 字符串 ss。若 si=1s_i=1,则在本组数据中第 ii 个查询是有解的;若 si=0s_i=0,则在本组数据中第 ii 个查询是无解的。

样例 1

输入

2
3 3 5 20
1 2 20
2 3 1
1 3 10
2 19
2 20
3 20
3 21
3 9
7 10 5 5
1 2 15
1 3 10
2 4 21
3 4 30
2 5 14
3 5 31
4 6 3
5 6 14
1 7 39
5 7 13
7 42
7 43
7 44
5 39
6 44

输出

11110
10111

样例 2

输入

1
4 6 5 2
1 2 1
2 3 1
3 4 1
1 2 70
2 3 120
3 4 4
4 90
4 2
4 10
4 37
2 34

输出

11010

数据范围与提示

1t10001 \leqslant t \leqslant 1000, 2n500 0002 \leqslant n \leqslant 500\ 000, 1m500 0001 \leqslant m \leqslant 500\ 000, 1q500 0001 \leqslant q \leqslant 500\ 000, 2p202 \leqslant p \leqslant 20, 1di10111 \leqslant d_i \leqslant 10^{11}, 1ri10171 \leqslant r_i \leqslant 10^{17}。保证 n,m,q500000\sum n,m,q \leqslant 500000