首页 > 其他分享 >CF1835D

CF1835D

时间:2023-08-20 09:56:31浏览次数:47  
标签:联通 对于 dis 构造 CF1835D mod equiv

原题

翻译

好题!图论用数论的解法真的很巧妙

首先注意读题,要恰好等于\(k\)因为我看错了

这题有没有边权都是可以做的,为了使这个做法更具普遍性,我们假设原题有边权

可以发现对于满足条件的点对\((x,y)\)至少要满足他们在一个强联通分量内,所以我们可以在每一个强联通分量内计算答案

对于这个强联通分量内的\(q\)个环,把他们的环长分别记作\(len_i\),则由裴蜀定理可知,定义\(d=\gcd_{i=1}^q{len_i}\),则对与\(d | s\),我们一定可以构造出长为\(s\)的答案

但看到这个数据范围,我们肯定不能直接暴力计算所有环的长度,于是我们考虑通过别的方法求解\(d\)

我声称,对于一正整数\(p\),\(p|d\)的充要条件是找到一个数组\(dis_i\)满足对于原图所有的边\((u,v,w)\),满足\(dis_v-dis_u \equiv w (\mod p)\)

下面证明其充要性:

  • 充分性:

    对于原图的某一个环,记其上所有边的编号所构成的集合为\(S\),则必有\(\sum_{i \in S}{w_i} \equiv \sum_{i \in S}{(dis_v-dis_u)} \equiv 0 (\mod p)\)即保证了\(p|len\)

  • 必要性:

    考虑构造证明,对于这个强联通图建任意一棵生成树,对于树边\((u,v,w)\),我们令\(dis_v=dis_u+w\)

    对于某一个返祖边,我们可以用类似于充分性的证法证明此构造满足条件

    对于某一个横叉边,它如果只和树边结合是无法生成环的,但如果加入返祖边,我们可以通过以下操作构造“反向边”:

    对于一条边\((u,v,w)\),我们想构造其反向边\((v,u,-w)\)。由于图强联通,所以我们可以找到任意一条\(v \rightarrow u\)的路径,这时显然形成了一个环,从\(v\)开始绕这个环\(p-1\)次,再走\(v \rightarrow u\)的路径走到\(u\)点,容易得到走过路径长度\(dist(v,u) \times p+w \times (p-1) \equiv -w (\mod p)\)

    于是我们通过这种方法构造了一个经过横叉边的环,通过类似于证明充分性的方法可以证明此构造合法;

    前向边证法类似于横叉边

根据以上证明我们可以构造出数组\(dis_i\),这个数组在\(\mod p\)下成立是\(p|d\)的充要条件,因此\(d = \gcd_{i=1}^{m}{(dis_v - dis_u - w)}\)

求出\(d\)后不难发现对于点对\((x,y)\)成为答案的条件是\(dis_x - dis_y \equiv dis_y - dis_x \equiv k (\mod d)\)

容易知道要么\(k \equiv 0 (\mod d)\),要么\(k \equiv \frac{d}{2} (\mod d)\)

如果不满足条件,直接输出0即可;否则我们可以开一个桶记录之前出现过的所有\(dis_x \mod d\)

总复杂度\(O(n+m)\)

标签:联通,对于,dis,构造,CF1835D,mod,equiv
From: https://www.cnblogs.com/fox-konata/p/17643637.html

相关文章

  • CF1835D Doctor's Brown Hypothesis
    由于\(k\)够大,你可以随便在图上走环,不用担心不用走,那么你所担心的只有环长的\(\rmgcd\)。将所有强连通分量先求出,满足条件的点对必然在一个强连通分量里。我们以随便一个点为根,跑出强连通分量中的一棵dfs树,我们断言,如果\(dep_x-dep_y\equivdep_y-dep_x\equivk\bmodd\)......
  • CF1835D&E&F
    感觉这三题分开写很浪费,所以合并成了半场CF的总结(CF1835DDoctor'sBrownHypothesis首先你看到这个\(k\geqn^3\)就在疯狂暗示,也就是说你可以经过每个环,并且对于每个环都绕\(n-1\)圈,因此只需要满足增量被所有环长的\(\gcd\)整除并且在一个SCC里面,那么就是可以调整到......
  • ABC306G 与 CF1835D 的思考
    两道题似乎都涉及了一个经典模型:在一张有向图上,给定起点\(s\)和终点\(t\),询问\(s\)到\(t\)与\(t\)到\(s\)是否均存在一条长度\(=L\)的路径(\(L\)是一个\(\gen^3\)的数)。首先\(s\)与\(t\)必须在同一个SCC内(考场上没看到互相可达直接以为不可做)。考虑取......