ABC306G 与 CF1835D 的思考
Posted Zesty_Fox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 \\textSCC,\\exists L, \\mathrms.t. \\forall l \\ge L \\and g|l\\),存在包含 \\(x\\)、长为 \\(l\\) 的环。
证明:设当前所有包含 \\(x\\) 的环的 \\(\\gcd\\) 为 \\(g\\)。
- 若所有 \\(dep_u+1 \\equiv dep_v \\pmodg\\),显然从 \\(x\\) 出发,每走一步在模 \\(g\\) 意义下深度一定 \\(+1\\),回到 \\(x\\) 时肯定长度为 \\(g\\) 的倍数。
- 若存在 \\(dep_u+1 \\not\\equiv dep_v \\pmodg\\),则一定存在长度不是 \\(g\\) 的倍数的环。根据裴蜀定理,\\(g\\) 可以变为 \\(\\gcd(g,l)\\)(\\(l\\) 为这个环的长度),可以变得更小。
为什么一定存在这种环:设 \\(rt\\) 为生成树的树根,若 \\(x\\) 到 \\(rt\\) 存在长度 \\(\\not\\equiv dep_rt-dep_x \\pmodg\\) 的路径,则 \\(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 \\textSCC,\\exists L, \\mathrms.t. \\forall l \\ge L \\and l \\equiv dep_y-dep_x \\pmod g\\),存在以 \\(x\\) 为起点、以 \\(y\\) 为终点、长为 \\(l\\) 的路径。
证明过程类似。
以上是关于ABC306G 与 CF1835D 的思考的主要内容,如果未能解决你的问题,请参考以下文章
CF-div2-620-D. Shortest and Longest LIS 贪心,双指针