CF1835D
好题!图论用数论的解法真的很巧妙
首先注意读题,要恰好等于因为我看错了
这题有没有边权都是可以做的,为了使这个做法更具普遍性,我们假设原题有边权
可以发现对于满足条件的点对
对于这个强联通分量内的
但看到这个数据范围,我们肯定不能直接暴力计算所有环的长度,于是我们考虑通过别的方法求解
我声称,对于一正整数
下面证明其充要性:
-
充分性:
对于原图的某一个环,记其上所有边的编号所构成的集合为
,则必有 即保证了 -
必要性:
考虑构造证明,对于这个强联通图建任意一棵生成树,对于树边
,我们令对于某一个返祖边,我们可以用类似于充分性的证法证明此构造满足条件
对于某一个横叉边,它如果只和树边结合是无法生成环的,但如果加入返祖边,我们可以通过以下操作构造“反向边”:
对于一条边
,我们想构造其反向边 。由于图强联通,所以我们可以找到任意一条 的路径,这时显然形成了一个环,从 开始绕这个环 次,再走 的路径走到 点,容易得到走过路径长度于是我们通过这种方法构造了一个经过横叉边的环,通过类似于证明充分性的方法可以证明此构造合法;
前向边证法类似于横叉边
根据以上证明我们可以构造出数组
求出
容易知道要么
如果不满足条件,直接输出0即可;否则我们可以开一个桶记录之前出现过的所有
总复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?