货车运输题解——最小生成树,倍增lca
解法:我们发现,构建一个最大生成树,就是最优的运输方案,可以使用Kruskal算法,通过并查集实现最大生成树的构建。对于q次询问,每一次可以通过lca的方法在O(logn)时间内找到答案,如果x,y不在一个连通分量里面,输出-1,否则跑一遍x,y的lca即可。
#include<bits/stdc++.h>
using namespace std;
int n, m, q;
struct node {
int u, v;
int val;
}edge[50020];
bool.
原创
2021-01-10 12:30:27 ·
302 阅读 ·
0 评论