CF1515G 题解

题意

传送门

给定一张 \(n\) 个点 \(m\) 条边的有向图,有边权,进行 \(q\) 次询问。

每次询问给定三个参数 \(v,s,t\),你需要回答是否存在一条起点终点均为 \(v\) 的路径,满足 \(\text{路径长}+s\equiv 0\pmod t\)

\(n,m,q \le 2 \times 10^5,0 \le s < t \le 10^9\)

题解

石锤了,我既不会图论也不会数论……

首先每个强连通分量可以隔离。接着可以通过强连通发掘一些性质。

  • \((x,y,z)\),一定有 \((y,x,-z)\)。在模任意数下都成立。

因为强连通,\(x,y\) 一定可以在同一个环上。从 \(y\) 开始,走 \(t\) 圈,此时为 \(0\)。最后一步不走,就是 \(-z\)

进而得出下面的性质:

  • 同一个强连通分量中答案都一样。
  • 任意一个环都可以通过简单环的加减运算得到。

设所有简单环长为 \(l_1,l_2,...,l_k\),那么由裴蜀定理,可以得到所有 \(gcd(l_1,l_2,...,l_k)\) 倍数的长度。于是只需求所有简单环,就可以 \(O(1)\) 查询。

寻找简单环,不难想到 \(\operatorname{dfs}\) 树。这又分为只有一条非树边有多条非树边的简单环。又发现,第二种一定可以由第一种加减而成。于是就解决了。

posted @ 2022-12-05 11:37  realFish  阅读(52)  评论(0)    收藏  举报