首页 > 其他分享 >[题解] CF1761E Make It Connected

[题解] CF1761E Make It Connected

时间:2022-12-28 15:45:43浏览次数:46  
标签:度数 连通 这个 断开 题解 Make 最小 Connected 操作

CF1761E Make It Connected

题目大意

给一张无向图,每次操作表现为选择一个点 \(x\),断开所有原来连上的边,连接所有原来断开的边。求最少需要几步使得图联通,并构造方案。

思路

分类考虑。

首先如果这个图本身就是连通的,那显然不用操作

然后考虑把一个点 \(x\) 加入一个连通块,一步对 \(x\) 的操作能使图连通

那么把一个连通块加入另一个连通块呢?

考虑把一个连通块中的点一点点拆下来加到另一个连通块。那么就是拆较小的连通块,把它加到较大的里。

真的必须要这么做吗?

如果你有的是两张完全图,那么必须这么拆。

如果你有的是大于两张的完全图,那么你可以选择一个连通块中任意一点进行操作,再换个连通块选择任意一点进行操作。

来证明一下正确性吧。当你“选择一个连通块中任意一点进行操作”后,这个点会连上其他所有的连通块,并断开与原来连通块的链接。“再换个连通块选择任意一点进行操作”后这个点将与除自己原来的连通块外的所有连通块连通。这时候第三个连通块既与第一个操作的点连上了(连上了除第一个连通块外的所有连通块),又与第二个操作的点连上了(连上了除第二个连通块外的所有连通块),两者求并,就是把整个图连通了。

如果有连通块不是完全图,那么你可以选择对不是完全图的连通块中度数最小的点进行一次操作,这张图就联通了。

先证明一下正确性吧。由于这个连通块不是完全图,所以度数最小的点一定与至少一个同连通块中的点不连通。那么在对这个点进行操作后,能保证这个点仍和原属连通块联通,然后它又连上了其他连通块的点,所以这张图就联通了。

至于为什么选度数最小的点呢?因为度数最小的点能保证一定对。

考虑对一个点操作后这个连通块不连通了,这个点要满足的要求是:是割点,与断开后形成的连通块中的至少一个的所有点都连通。可以证明度数最小的点一定不满足这两个情况。

可以用反证法证明。假设这个点度数最小、是割点、与断开后形成的连通块中的至少一个的所有点都连通。假设这个点的度数为 \(p\),那么与它连接的点的度数至少为 \(p\),那么这个图就是完全图,也就不存在割点了,与假设矛盾。

标签:度数,连通,这个,断开,题解,Make,最小,Connected,操作
From: https://www.cnblogs.com/shiranui/p/17008843.html

相关文章

  • LOJ 6041 「雅礼集训 2017 Day7」事情的相似度 题解 (SAM+启发式合并)
    题目链接首先很容易想到的是对反串求SA和LCP,然后询问就是求起点在某个区间内的所有后缀两两LCP的最大值,可以用莫队解决,时间复杂度\(O(n\sqrtnlogn)\),应该是过不了的。......
  • P5137 题解
    前言首先感谢所有帮助我卡常的大佬们。题意求\((\sum_{i=0}^{n}a^ib^{n-i})\modp\)的值(\(n\leq10^{18}\),\(p\)不一定为质数)。分析看到数据范围,首先想到快......
  • C#提示指定的路径或文件名太长问题解决办法
    我用的是.net4.0的环境,直接在app.config配置文件中加几行配置就行。如下图:<configuration><runtime><AppContextSwitchOverridesvalue="Switch.System.IO.......
  • SEERC2022 D Divisible by 4 Spanning Tree 题解
    题意给定\(n\)个点\(m\)条边的无向连通图,判断是否有存在生成树满足:度数为奇数的点个数为\(4\)的倍数。\(1\len\le200000,1\lem\le400000\)题解度数总和是\(2n......
  • 【题解】P5298 [PKUWC2018]Minimax
    P5298[PKUWC2018]Minimax思路线段树合并优化树形dp.值域1e9首先考虑离散化。然后发现需要维护每种权值的出现概率,于是可以考虑到一个简单的树形dp:设\(f[i][j]\)......
  • 问题解决:Failed to download metadata for repo ‘appstream‘: Cannot prepare inter
    https://cloud.tencent.com/developer/article/1993317 大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误“错误:Failedtodownloadmet......
  • 快速幂 矩阵快速幂题解
    目录快速幂矩阵快速幂练习题题解12.28HDU1061HDU1575HDU2035HDU5015HDU6198快速幂矩阵快速幂练习题题解12.28HDU1061题意:给定T组数据,接下来T行有T个数,求N的N次......
  • CodeForces-690#D1 题解
    正文很显然啊,这是在考一个叫连通块的东东,于是蒟蒻的我马上想到了连通块必备:并查集。如果一个块四边连通了其它的块,那么合并这两个块。当然,并查集要用二维的:typedefpai......
  • Makefile的automake生成全攻略
    作者:余涛作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合......
  • 【题解】1059: 贴瓷砖
    1059:贴瓷砖题目描述有一块大小是2*n的墙面,现在需要用2种规格的瓷砖铺满,瓷砖规格分别是2*1和2*2,请计算一共有多少种铺设的方法。输入输入的第一行包含一个......