Focus on yourself, mind your own business|

wscqwq

园龄:2年粉丝:2关注:3

Xor-MST

Xor-MST

这道题其实是一种最小生成树算法名曰 Boruvka 的算法,但是平时还是 Kruskal 算法用的说,相信大家也是由它想起的。

根据套路,由于要求的是异或边权之和的最小值,果断构建 01 trie。我们将样例画出来

我们可以对这颗树进行 dfs,可以看出两个点的 LCA 越深,那么它们合并代价就越小。上图中,先合并 \(2,3\),再将 \([1],[2,3]\) 合并(需要让 \(1\) 在右子树中走,尽量走某一位和自己一样的)。右边则是合并 \(4,5\),最后是 \([1,2,3],[4,5]\)。根据合并过程可知,如果一个点有两个儿子,当它回溯时,可以立即合并它的两个儿子。这里我们可以用启发式合并,尽量让左右儿子中子树更小者在另一边子树中探索,尽量往与自己一样的地方走。

复杂度暂时未知。

code

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/17467788.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(21)  评论(0编辑  收藏  举报
评论
收藏
关注
推荐
深色
回顶
收起
点击右上角即可分享
微信分享提示