题意:最小生成树的最大边最小,sort从小到大即可

poj2485

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define maxn 505
int map[maxn][maxn],pa[150000],num,n;
struct node
{int x;int y;int val;
}s[150000];
bool cmp(node a,node b)
{return a.val<b.val;
}
void init()
{int i,j;scanf("%d",&n);for(i=1;i<=n;i++)for(j=1;j<=n;j++)scanf("%d",&map[i][j]);for(i=1;i<=n;i++)pa[i]=i;
}
void makemap()
{int i,j;num=0;for(i=1;i<=n;i++)for(j=i+1;j<=n;j++){s[num].x=i;s[num].y=j;s[num++].val=map[i][j];}
}
int find(int x)
{if(x!=pa[x])pa[x]=find(pa[x]);return pa[x];
}
void kruskal()
{int i,j,ans=0;sort(s,s+num,cmp);for(i=0;i<num;i++){int l1,l2;l1=find(s[i].x);l2=find(s[i].y);if(l1!=l2){pa[l1]=l2;ans=s[i].val;}}printf("%d\n",ans);
}
int main()
{int t;scanf("%d",&t);while(t--){init();makemap();kruskal();}return 0;
}

poj2395

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define maxn 2002
int pa[maxn],num,n;
struct node
{int x;int y;int val;
}s[10010];
bool cmp(node a,node b)
{return a.val<b.val;
}
void init()
{int i;for(i=0;i<=n;i++)pa[i]=i;
}
int find(int x)
{if(x!=pa[x])pa[x]=find(pa[x]);return pa[x];
}
void kruskal()
{int i,j,ans=0;sort(s,s+num,cmp);for(i=0;i<num;i++){int l1,l2;l1=find(s[i].x);l2=find(s[i].y);if(l1!=l2){pa[l1]=l2;ans=s[i].val;}}printf("%d\n",ans);
}
int main()
{int i,j;while(scanf("%d%d",&n,&num)!=EOF){init();for(i=0;i<num;i++)scanf("%d%d%d",&s[i].x,&s[i].y,&s[i].val);kruskal();}return 0;
}

转载于:https://www.cnblogs.com/sweat123/p/4681916.html

poj2485poj2395 kruskal相关推荐

  1. 数据结构与算法(7-3)最小生成树(普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法)

    目录 一.最小生成树简介 二.普里姆算法(Prim) 1.原理 2.存储 2-1.图顶点和权: 2-3. 最小生成树: 3.Prim()函数 3-1.新顶点入树 3-2.保留最小权 3-3. 找到最小 ...

  2. 基本数据结构(图: 基本结构,DFS,prim算法, kruskal算法)

    #include <iostream> using namespace std; //约定: //1. 图是由很多节点(VERTEX)构成的, 因此图结构是由一个VERTEX的链表构成的, ...

  3. Kruskal算法 - C语言详解

    最小生成树 在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树.  例如,对于如上图G4所示的连通网可以有多棵权值总 ...

  4. vijos P1190繁忙的都市(Kruskal)(最小生成树)

    P1190  繁忙的都市 城市C是一个非常繁忙的大都市,城市 中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉 ...

  5. 技术图文:如何利用C# 实现 Kruskal 最小生成树算法?

    背景 以前我写过一些图文来介绍有关数据结构与算法的知识: 8大排序算法之:直接插入排序(Straight Insertion Sort) 8大排序算法之:希尔插入排序(Shell Insertion ...

  6. 【数据结构】最小生成树 Prim算法 Kruskal算法

    最小生成树应用场景: 假设以下场景,有一块木板,板上钉上一些钉子,这些钉子可以由一些细绳连接起来.假设每个钉子可以通过一根或者多根细绳连接起来,那么一定存在这样得情况,即用最少的细绳把所有的钉子连接起 ...

  7. ds图—最小生成树_Java: Kruskal算法生成最小生成树(邻接矩阵)

    Java: Kruskal算法生成最小生成树(邻接矩阵): package 输出: Kruskal=36: (E,F) (C,D) (D,E) (B,F) (E,G) (A,B) 分析: Java: ...

  8. Kruskal算法模版

    1.例如:求解如图的最小生成树 求解过程: 方法一:一般做法(最终都是在避环) #include<iostream> #include<algorithm> #include& ...

  9. HDU2988(Kruskal算法模版)

    其实以下两种方法的实质本来就是一样的,就是在写的形式不一样而已!只要理解就可以了! 方法一: #include<iostream> #include<algorithm> #i ...

最新文章

  1. html5语音对讲,c#语音对讲demo
  2. SpringBoot 2.6.0发布:禁止循环依赖,还有哪些实用的更新?
  3. springboot使用redisTemplate 报错:APP FAILED TO START Field template in required a single bean redis工具类
  4. 黑科技小程序,无需前台登记直接刷脸秒住酒店!
  5. 微型计算机原理上机实验改错,北京理工大学微机原理汇编语言上机实验题
  6. positive definite quadratic form and positive definite matrix
  7. apache编译出错 error: mod_deflate has been requested
  8. Qunee for HTML5图形组件
  9. 10bit灰阶测试图_色彩深度技术探讨,关于8bit,10bit,12bit,16bit,什么是灰阶?...
  10. Objectdock stacks docklet 无法启动程序快捷方式
  11. 深入“无人地带”,快递企业能变更“快”吗?
  12. OCP-1Z0-051 补充题库 第35题 LONG类型
  13. 查看网页源代码的方法
  14. 大众点评CEO张涛:踏实创业 低调打造百亿级公司
  15. ExoPlayer官方中文使用文档
  16. java web电脑网站微信扫码支付(Servlet+JSP)
  17. Oracle数据库的体系结构和用户管理
  18. ITEXT-定位PDF中图片的坐标与页码
  19. java实现远程开关机
  20. java enum类默认常量是什么_Java枚举类型enum的详解及使用

热门文章

  1. mysql 根据子查询的结果查询朱标_Python - MySQL数据库操作
  2. 一个gRPC-go范例程序
  3. 用数字化数据战略取代数据“收集和管理”
  4. 【转】二叉树、B树、B-树、B+树、B*树
  5. 修路方案(次小生成树)
  6. android google map研究
  7. ant通用模板(build_common.xml)使用介绍
  8. LeetCode10. 正则表达式匹配
  9. 产品经理是怎么产生的?
  10. Pytest之fixture