POJ 2485 Highways(最小生成树)
来源:互联网 发布:淘宝售后退款率 编辑:程序博客网 时间:2024/05/12 01:00
POJ 2485 Highways(最小生成树)
http://poj.org/problem?id=2485
题意:
给你一个N个节点的无向图,以及它的距离矩阵.现在要你求该图的最小生成树,并输出该树中最长边的长度.
分析:
直接构建最小生成树,并输出最后一条加入生成树的边即可.(我这里用的kruskal算法)
AC代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=500+10;const int maxm=500*500+10;struct Edge{ int u,v,dist; Edge(){} Edge(int u,int v,int d):u(u),v(v),dist(d){} bool operator<(const Edge &rhs)const { return dist<rhs.dist; }};struct Kruskal{ int n,m; Edge edges[maxm]; int fa[maxn]; int findset(int x){ return fa[x]==-1? x: fa[x]=findset(fa[x]); } void init(int n) { this->n=n; m=0; memset(fa,-1,sizeof(fa)); } void AddEdge(int u,int v,int dist) { edges[m++]=Edge(u,v,dist); } int kruskal()//范围生成树中最长边的值 { int sum=0; int cnt=0; sort(edges,edges+m); for(int i=0;i<m;i++) { int u=edges[i].u, v=edges[i].v; if(findset(u) != findset(v)) { sum += edges[i].dist; fa[findset(u)] = findset(v); if(++cnt>=n-1) return edges[i].dist; } } return -1; }}KK;int main(){ int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); KK.init(n); for(int i=0;i<n;i++) for(int j=0;j<n;j++) { int dist; scanf("%d",&dist); if(i<j) { KK.AddEdge(i,j,dist); } } printf("%d\n",KK.kruskal()); } return 0;}
0 0
- POJ 2485 Highways【最小生成树】
- poj 2485Highways(最小生成树 Kruskal)
- poj 2485 Highways (最小生成树)
- poj 2485 Highways 最小生成树
- poj 2485 Highways prim最小生成树
- POJ 2485 Highways (最小生成树)
- POJ 2485 Highways 最小生成树
- POJ 2485 Highways(最小生成树)
- poj 2485 Highways (最小生成树)
- POJ 2485 Highways 最小生成树
- poj 2485 Highways 最小生成树
- POJ 2485 Highways (最小生成树)
- POJ 2485 Highways (prim最小生成树)
- poj-2485-Highways-最小生成树
- POJ 2485 Highways(最小生成树)
- POJ 2485 Highways【最小生成树】
- POJ 2485 Highways 最小生成树
- POJ 2485 Highways 【最小生成树Prim】
- 销毁或删除TinyMCE控件
- 零基础安装Linux mint与windows 7双系统 以及Linux相关环境的配置
- 新生排位赛第一场 dp 大数处理与模板
- Hadoop学习笔记之HBase Shell语法练习
- 离职总结 | 如何做个好员工?
- POJ 2485 Highways(最小生成树)
- 人为什么会觉得无聊
- java 根据url下载图片保存到本地
- 一张表格的协作工具:你还能找到更轻量的吗?
- axis1.4 生成wsdd文件 提示Connection refused的问题
- 奚记--最简洁的记账软件
- vb关闭时出现“vb6.0-应用程序错误”
- 理解GC日志
- JavaScript事件学习笔记