P17757 「RSOI-3F」信号传递 / signal

题目背景

题目来源:【HT-126-Div.2】核桃 CSP-S 组模拟赛

题目描述

给定 $n$ 个节点,每个节点有两个正整数权值 $A_i$ 和 $P_i$。 在图上,从节点 $u$ 可以向节点 $v$($u \neq v$)发送信号,当且仅当这两个节点的权值满足以下条件: $$A_v \bmod A_u \le P_u$$ 现在给定起点 $S$ 和终点 $T$,请你求出信号从 $S$ 传递到 $T$ 的最短路径长度(即最少经过的边数)。如果无法将信号传递到 $T$,请输出 `-1`。

输入格式

第一行包含三个正整数 $n, S, T$,分别表示节点总数、起点编号和终点编号。 接下来 $n$ 行,每行包含两个非负整数 $A_i, P_i$,表示第 $i$ 个节点的权值。

输出格式

输出一行一个整数,表示最短路径的长度。如果无法到达,输出 `-1`。

说明/提示

**【样例解释 #1】** - 节点 1 的权值为 $A_1=3, P_1=0$。可以到达满足 $A_v \bmod 3 \le 0$ 的节点,即节点 2($9 \bmod 3 = 0$)、节点 5($6 \bmod 3 = 0$)和节点 6。 - 节点 2 的权值为 $A_2=9, P_2=1$。可以到达满足 $A_v \bmod 9 \le 1$ 的节点,即节点 3($19 \bmod 9 = 1 \le 1$)和节点 6。 - 节点 3 的权值为 $A_3=19, P_3=2$。可以到达满足 $A_v \bmod 19 \le 2$ 的节点,即节点 4($38 \bmod 19 = 0 \le 2$)。 - 最短路径为 $1 \to 2 \to 3 \to 4$,经过了 3 条边,因此长度为 3。虽然节点 1 可以直接到节点 5 或 6,但它们无法进一步到达终点 4。 **【数据范围】** **本题采用捆绑测试。** 对于所有测试数据,保证: $1 \le n,A_i,P_i \le 10^6, 1 \le S, T \le n$。 | Subtask 编号 | $n\le$ | $A_i\le$ | 特殊性质 | 分值 | | ------------ | ---- | ---- | ---- | ---- | | 1 | $3000$ | $500$ | 无 | $20$ | | 2 | $10^5$ | ^ | ^ | $15$ | | 3 | ^ | $10^5$ | 保证 $P_i=0$ | $15$ | | 4 | ^ | ^ | $P_i\le 2$ |$10$ | | 5 | ^ | ^ | 无 |$10$ | | 6 | $10^6$ | $10^6$ | ^ | $30$ |