一、题目
二、解法
观察时限有 6 s 6s 6s,所以时间复杂度 O ( m q ) O(mq) O(mq)的算法是可过的。
对于每个询问在线处理,从最大的边开始考虑不要它,那么它连的两个点就不能分到一个集合,可以用并查集类似食物链的方式,建他在两个部分的点。判断这条边相连的点有没有部分内相连,如果有即不合法就直接输出当前边的权值,否则把两个点不同部分连起来。
#include <cstdio>
#include <algorithm>
using namespace std;
const int M = 500005;
int read()
{
int x=0,f=1;char c;
while((c=getchar())<'0' || c>'9') {
if(c=='-') f