P7474 「C.E.L.U-02」学术精神
题目挺好的,数据范围诈骗挺烂的
首先第一问没什么好说的,连边成功的概率为
又因为要连
主要是第二问,这里我先说我自己想出来的做法
方法1:
首先我们发现选点的顺序是无所谓的,证明显然
我们先考虑如果按照编号顺序操作,操作过程中的联通块是长什么样的
容易发现联通块分成以下几种:
-
联通块大小为
,即在操作过程中还未被考虑到 -
联通块中有为被考虑到的点,此时这个联通块是一棵树
-
联通块中没有被考虑到的点,此时这个联通块是一个基环树
我们发现对于
我们容易发现在操作结束后,所有联通块肯定都是死联通块,否则肯定存在没连边的点
于是我们想到一个比较好的
-
和死点合并,这个死点来源于自身所在的联通块;操作后会使联通块个数+1
-
和死点合并,这个死点来源于不同于自身的死联通块;操作后联通块个数不变
-
和活点合并
对于这三种情况分别
最终复杂度
方法2:
我们发现对于每一个联通块,里面都是一棵基环树
换言之,联通块的数量
因此我们考虑联通时产生环的期望个数
由于知道
显然,每个节点有
然后考虑记录环的总数。我们按照环的大小进行不同考虑,设环大小为
因此
容易得到最终答案:
最终复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?