设两个数为 $gx$ 和 $gy$,其中 $\gcd(x,y)=1$,则有边的条件相当于 $g(xy-A)=B$。容易发现这样的边数并不多,我们可以枚举 $g$,再枚举 $x$ 得到 $y$,总的边数不会超过 $D^2$,其中 $D$ 为 $A+B$ 范围内的约数个数最大值,大约在 $10^3$ 级别。实际上这是一个比较松的上界,很难取满。
找到所有边之后 BFS 预处理即可回答询问。注意这个图只有 $10^{16}$ 个点,而我们找到的数对可能超过这个范围。
The 3rd Universal Cup Finals is coming! Join our Warm-up Game and Prediction Game and win the prizes! Learn more...
Type: Editorial
Status: Open
Posted by: jiangly
Posted at: 2026-04-15 16:04:05
Last updated: 2026-04-17 09:25:19
设两个数为 $gx$ 和 $gy$,其中 $\gcd(x,y)=1$,则有边的条件相当于 $g(xy-A)=B$。容易发现这样的边数并不多,我们可以枚举 $g$,再枚举 $x$ 得到 $y$,总的边数不会超过 $D^2$,其中 $D$ 为 $A+B$ 范围内的约数个数最大值,大约在 $10^3$ 级别。实际上这是一个比较松的上界,很难取满。
找到所有边之后 BFS 预处理即可回答询问。注意这个图只有 $10^{16}$ 个点,而我们找到的数对可能超过这个范围。