Doremy's Connecting Plan

此题利用转换构造法

首先,我们对两个连通块进行连边的时候,肯定是选择编号最小的点进行连边,所以下文的i,j都指代编号最小的i,j

然后我们就没有其他思路了。。但其实样例一的解释给了我们一种猜想:最终的图一定可以长成以1号点为中心的菊花图(这也算考虑特殊元素了)

要达到这一点,我们肯定是尝试构造

假设存在一种合法的操作序列(这里的操作序列由若干二元对组成,每个二元对表示本次操作连接哪两个点),设其第一次都不为1的二元对为(i,j)(指满足i1j1的最早的操作序列),我们尝试将本次操作换成(1,i)或者(1,j)

不妨设2i<j,我们有Si+Sjijc,如果本次操作不能被替换,也就是有S1+Si<icS1+Sj<jc,那么我们有Si+Sj<(i+j)c2S1,于是ijc<(i+j)c2S1,即ij+2S1c<i+j,我们将j当做主元,有(i1)j+2S1ci<0,由于2i<j,所以(i1)jj,故(i1)ji>0,而2S1c0,推出矛盾

所以我们一定可以连接(1,i)或者(1,j)。我们假设先能连接(1,i),连接了之后我们就能连接(1,j)

综上,任意一种操作序列我们都可以转化成以1为中心的菊花图

此时我们连接的条件是S1+aiic,即S1icai

我们以前做过类似的题目,按照icai从小到大排序就好了,依次检查即可

posted @   最爱丁珰  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示