情况1:wa on #7
请注意题目中说的是新牧场的直径,并不一定将那条连边包括在内
情况2: wa on #11(hack)
题目中说原先至少有两个牧场,但并不一定只有两个,#11中有3个牧场,所以最后算新牧场的直径不可以取单独的那个牧场的直径
for (int i = 1; i <= n; ++i) { if (find(i) != find(s1) && find(i) != find(s2)) continue; dis = max(dis, lodis[i]); } //dis初始状态为lodis[i]+lodis[j]+连边 //s1和s2为连边的两个端点 //find为并查集函数 //lodis[i]为在原先的牧场内距离i号牧区最远的牧区