ABC306G & CF1835D

两道题似乎都涉及了一个经典模型:

在一张有向图上,给定起点 \(s\) 和终点 \(t\),询问 \(s\)\(t\)\(t\)\(s\) 是否均存在一条长度 \(=L\) 的路径(\(L\) 是一个 \(\ge n^3\) 的数)。

首先 \(s\)\(t\) 必须在同一个 SCC 内(考场上没看到互相可达直接以为不可做)。

考虑取出这个 SCC 的任意一颗生成树,则有定理:

设所有非树边 \((u,v)\)\(|dep_u+1-dep_v|\)\(\gcd\)\(g\),则 \(\forall x \in \text{SCC},\exists L, \mathrm{s.t.} \forall l \ge L \and g|l\),存在包含 \(x\)、长为 \(l\) 的环。

证明:设当前所有包含 \(x\) 的环的 \(\gcd\)\(g\)

  • 若所有 \(dep_u+1 \equiv dep_v \pmod{g}\),显然从 \(x\) 出发,每走一步在模 \(g\) 意义下深度一定 \(+1\),回到 \(x\) 时肯定长度为 \(g\) 的倍数。
  • 若存在 \(dep_u+1 \not\equiv dep_v \pmod{g}\),则一定存在长度不是 \(g\) 的倍数的环。根据裴蜀定理,\(g\) 可以变为 \(\gcd(g,l)\)\(l\) 为这个环的长度),可以变得更小。

    为什么一定存在这种环:设 \(rt\) 为生成树的树根,若 \(x\)\(rt\) 存在长度 \(\not\equiv dep_{rt}-dep_x \pmod{g}\) 的路径,则 \(x \to rt \to x\) 就符合要求;对 \(u,v\) 均同理。于是可以构造 \(x \to rt \to u \to v \to rt \to x\) 这样的环,除了 \(u \to v\) 的一段其它都符合 \(s \to t\) 所有路径长度模 \(g\) 意义下等于 \(dep_t-dep_s\) 这一性质,所以这个环长度一定不是 \(g\) 的倍数。

根据证明过程,可以扩展这个定理:

\(\forall x,y \in \text{SCC},\exists L, \mathrm{s.t.} \forall l \ge L \and l \equiv dep_y-dep_x \pmod {g}\),存在以 \(x\) 为起点、以 \(y\) 为终点、长为 \(l\) 的路径。

证明过程类似。

posted @ 2023-06-19 11:39  Zesty_Fox  阅读(98)  评论(0编辑  收藏  举报