boruka
天涯-沧海
acmer
展开
-
2020牛客暑期多校训练营(第五场) B Graph
这题可以说就是cf888g改编了一下,加上有人赛中发题解,所以过了一百多人,实际上还是很难的首先我们要先明确一个东西:这个图任意两个点u,v边权值始终不变,因为它所在的环异或和始终等于0,所以,边uv的值就是这个环其他边的异或和,现在即使它所在的环的某条边x被删去了,由于图要联通,那x肯定是被它所在的另一个环的其他边代替,而这些边的异或和等于x的值,这其实相当于没有删x,uv这条边还是在一个同样的环里,权值必然不会变现在我们就可以将每个点的值变成根节点到他的路径异或和,uv连边,边值就是u点..原创 2020-07-26 22:52:43 · 398 阅读 · 0 评论 -
cf888G 完全图上最小生成树
这题思想就是boruka具体就是我们从最高位来看,我们可以按照二进制最高位是0还是1来把数分为两块,他们内部各自进行连边形成最小生成树,然后这两个部分再连边,因为这样只会有一条最高位是1的边,如果我们让多个01对连边,那么会形成多条最高位权值是1的边,这明显会使结果更差,然后次高位及以下也如此处理。。在操作上就是我们先把每个点的权值插入到01字典树,从最高位开始分治,在0和1这两个左右子树,它们首先连边,然后再在左右子树找一个点对,他们异或值要最小,为了让异或值最小,我们在左右子树向下找的时候,每.原创 2020-07-26 22:30:54 · 551 阅读 · 0 评论