CF888G&牛客多校第五场B-异或最小生成树
先看CF的这道题:
题意:
传送门
有n个点,每个点有一个权值aia_iai,任意两点之间边的权值是这两点权值的异或和,求最小生成树
n≤2e5,ai<230n \leq 2e5, a_i< 2^{30}n≤2e5,ai<230
Solution:
首先需要先介绍一种叫做Boruvka的最小生成树算法,算法流程类似Kruskal,对于每个连通块,在他和其他连通块之间找一个最小的边相连,因为每次都会合并一半的连通块,所以复杂度为O(mlogn)O(m \log n)O(mlogn)
那
原创
2020-07-26 19:11:42 ·
262 阅读 ·
1 评论