今天做了CCF的这个地铁修建这个题,看了下题意好像和我以前做过的一道题挺相似的,然后果断回去找了下以前做的题。。。
果不其然,几乎是一模一样的 = =
地铁修建这到题是求所有最短路径中最大的那一条边 , 而最短路专题求的是最小的一条边。 。。
然后直接那以前的代码过来修改一下就可以了 = =
思路 :
这两道题如果用SPFA , dijstra 等等的最短路算法也可以求出来(但是我不会QAQ)
所以说这道题还有个更加简单的方法, 就是求运用并查集不完全的最大(小) 生成树
代码挺简单的,就不多解释了吧 ;
下面是代码:
CCF 地铁修建
#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int maxn = 1e6 + 5 ;
int n , m ;
int cnt = 0 ;
int pre[maxn] ;
struct node{
int u , v , w ;
}v[maxn+5];
int find(int