CF1508C Complete the MST 题解
CF1508C
给定一个有
个节点的完全图,其中 条边有给定的边权,剩下的没有给定。 你需要给所有没有给定边权的边赋上非负整数边权,使得所有边的边权的异或和等于
。 我们认为这个图的“丑陋值”为这个图的最小生成树的边权之和,求所有可能的赋值方案中,“丑陋值”的最小值。
。至少有一条边是没有给定边权的。 对于第
条给定边权的边,若用 表示所连接的两个节点和边权,则 不会有边在输入中出现多次。
-
我们可以把给定的边分为
类-
一定会加入 MST 的边
-
一定不会加入 MST 的边
-
可能加入 MST 的边
-
-
显然的,我们可以只选择一条边为整张图边权的异或值,而剩下的边都为
,这一定是最优的 -
关键在于选择哪条边作为有值的边
-
如果说除去给定的边外的边构成了一个环,那么我们只需要选择这个环上的任意一条边作为有值的边即可
-
否则此时给定的边一定在原图中非常密集,换句话说就是
会很小,大概在 量级 -
此时我们考虑用
类边构成的环来代替这条边,只需要把一二种边加入并查集,对没给定的边判断是否在同一个联通块内 -
最终复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?