BZOJ1083: [SCOI2005]繁忙的都市
2018-01-19 22:39
357 查看
题解
仔细一看,会发现是克鲁斯卡尔的经典题,只要刷一次就行了。代码如下:
#include<cstdio> #include<string> #include<algorithm> using namespace std; const int maxn=305,maxm=10005; int n,m,ans,fa[maxn]; struct dyt{ int x,y,z; bool operator <(const dyt &b) const{return z<b.z;} }a[maxm]; inline int read(){ int x=0; char ch=getchar(); while (ch<'0'||ch>'9') ch=getchar(); while (ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar(); return x; } int getfa(int x){if (fa[x]!=x) fa[x]=getfa(fa[x]); return fa[x];} int main(){ n=read(); m=read(); for (int i=1;i<=n;i++) fa[i]=i; for (int i=1;i<=m;i++) a[i].x=read(),a[i].y=read(),a[i].z=read(); sort(a+1,a+1+m); for (int i=1;i<=m;i++) { int fax=getfa(a[i].x),fay=getfa(a[i].y); if (fax!=fay) {fa[fax]=fay; ans=a[i].z;} } printf("%d %d\n",n-1,ans); return 0; }
相关文章推荐
- bzoj1083 [SCOI2005]繁忙的都市
- [BZOJ1083][SCOI2005]繁忙的都市
- 【bzoj1083】[SCOI2005]繁忙的都市
- BZOJ 1083: [SCOI2005]繁忙的都市 kruskal
- BZOJ 1083: [SCOI2005]繁忙的都市 kruskal
- 【BZOJ 1083】【SCOI 2005】繁忙的都市
- BZoj 1083: [SCOI2005]繁忙的都市( 最小生成树
- BZOJ 1083: [SCOI2005]繁忙的都市
- bzoj 1083: [SCOI2005]繁忙的都市
- [BZOJ1083][SCOI2005]繁忙的都市(二分+并查集)
- bzoj1083: [SCOI2005]繁忙的都市
- 【bzoj1083】【SCOI2005】繁忙的都市
- Bzoj1083 1083: [SCOI2005]繁忙的都市【MST】
- [SCOI2005][BZOJ1083] 繁忙的都市
- bzoj 1083: [SCOI2005]繁忙的都市
- bzoj1083[SCOI2005]繁忙的都市
- 【BZOJ】1083: [SCOI2005]繁忙的都市 二分+并查集
- BZOJ 1083 [SCOI2005]繁忙的都市
- 【最小瓶颈生成树】【最小生成树】【kruscal】bzoj1083 [SCOI2005]繁忙的都市
- bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)