最小异或生成树

\(n\) 个点,点有点权,两两之间连边为端点权值的按位异或结果,求 \(\text{MST}\)

模板题:CF888G Xor-MST

将点按权值从小到大排序,则 \(\text{Trie}\) 中一棵子树对应一个区间,每个结点保证对应的区间

对于每个非叶子结点,若两个子树都不为空,则从两个子树内分别选出一个值,使异或值最小,可证所有值的总和即为 \(\text{MST}\),具体实现可以 \(\text{DSU}\),即枚举较小的子树中的值,在较大子树中查询

时间复杂度 \(O(n\log n\log V)\)

代码

存在 \(O(n\log n)\) 的解法

posted @ 2025-05-08 14:59  Hstry  阅读(12)  评论(0)    收藏  举报