题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1083

思路:最小生成树裸题

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <bitset>
#include <cmath>
#include <cctype>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <map>
#include <set>
#include <sstream>
#include <iomanip>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const ll inff = 0x3f3f3f3f3f3f3f3f;
#define FOR(i,a,b) for(int i(a);i<=(b);++i)
#define FOL(i,a,b) for(int i(a);i>=(b);--i)
#define REW(a,b) memset(a,b,sizeof(a))
#define inf int(0x3f3f3f3f)
#define si(a) scanf("%d",&a)
#define sl(a) scanf("%lld",&a)
#define sd(a) scanf("%lf",&a)
#define ss(a) scanf("%s",a)
#define mod ll(998244353)
#define pb push_back
#define eps 1e-6
#define lc d<<1
#define rc d<<1|1
#define Pll pair<ll,ll>
#define P pair<int,int>
#define pi acos(-1)
struct as{
int u,v,d;}a[100008];
int n,m,fa[308],ans;
bool cmp(as a,as b) {return a.d<b.d;}
int fid(int x)
{int a=x,b;while(fa[a]!=a) a=fa[a];while(x!=a) b=fa[x],fa[x]=a,x=b;return a;
}
int main()
{cin.tie(0);cout.tie(0);cin>>n>>m;FOR(i,1,n) fa[i]=i;FOR(i,1,m) si(a[i].u),si(a[i].v),si(a[i].d);sort(a+1,a+m+1,cmp);FOR(i,1,m){if(fid(a[i].u)!=fid(a[i].v)) fa[fid(a[i].u)]=fid(a[i].v),ans=a[i].d;}cout<<n-1<<" "<<ans<<endl;return 0;
}

bzoj1083(kruskal)相关推荐

  1. 最小生成树之克鲁斯卡尔(Kruskal)算法

    学习最小生成树算法之前我们先来了解下 下面这些概念: 树(Tree):如果一个无向连通图中不存在回路,则这种图称为树. 生成树 (Spanning Tree):无向连通图G的一个子图如果是一颗包含G的 ...

  2. 克鲁斯卡尔(kruskal)算法代码释义

    算法解释: 克鲁斯卡尔(kruskal)算法,建立最小生成树的算法,观察这个图, 步骤是依次选择权值最小的边,构成最小生成树,注意是树,所以依次选择的各边不能构成环. 实现 针对这个图,我们定义一个集 ...

  3. C#,最小生成树(MST)克鲁斯卡尔(Kruskal)算法的源代码

    一.Kruskal算法简史 克鲁斯卡尔(Kruskal)算法是一种用来寻找最小生成树的算法,由Joseph Kruskal在1956年发表.用来解决同样问题的还有Prim算法和Boruvka算法等.三 ...

  4. 克鲁斯卡尔(Kruskal)算法

    克鲁斯卡尔(Kruskal)算法 最小生成树 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边. [1] 最小生成树可以用kruska ...

  5. 大话数据结构-普里姆算法(Prim)和克鲁斯卡尔算法(Kruskal)

    5 最小生成树   构造连通网的最小代价生成树称为最小生成树,即Minimum Cost Spanning Tree,最小生成树通常是基于无向网/有向网构造的.   找连通网的最小生成树,经典的有两种 ...

  6. 数据结构——图——克鲁斯卡尔(Kruskal)算法

    数据结构--图--克鲁斯卡尔(Kruskal)算法 同样的思路,我们也可以直接就以边为目标去构建,因为权值是在边上,直接去找最小权值的边来构建生成树也是很自然的想法,只不过构建时要考虑是否会形成环路而 ...

  7. 数据结构---克鲁斯卡尔(Kruskal)算法

    数据结构(C语言)---克鲁斯卡尔(Kruskal)算法 一.总体思路 二.代码实现步骤 0.结构 1.构建边集数组 2.权值排序 3.生成最小生成树 三.完整代码 四.图解 一.总体思路 总体思路: ...

  8. 克鲁斯卡尔算法(Kruskal)求最小生成树(MST)过程详解

    基本思想 先构造一个只含 n 个顶点.而边集为空的子图,把子图中各个顶点看成各棵树上的根结点,之后,从网的边集 E 中选取一条权值最小的边,若该条边的两个顶点分属不同的树(不构成回路),则将其加入子图 ...

  9. 克鲁斯卡尔算法(kruskal)

    算法背景: 图中顶点A,B,C,D,E,F,G七个顶点表示七个村庄,现要修路,使得任意两个村庄之间都有通路,即都能到达(可以不是直达),问怎样修路可以使修路的总里程最短? 思路: 将所有边都连接起来, ...

最新文章

  1. ELK 使用4-Kafka + zookpeer
  2. 刚开始学Web前端,用什么软件好?
  3. jmeter命令行压测
  4. 前端跨域问题解决方案汇总
  5. node npm nrm nvm gnvm 相爱相杀
  6. FJUT3703 这还是一道数论题(二分 + hash + manacher 或者 STL + hash 或者 后缀数组 + hash)题解...
  7. LeetCode 444. 序列重建(拓扑排序)
  8. url get参数 php,怎么取得Url中Get参数
  9. 快速显示代码信息工具 Tokei
  10. 数学建模3 插值算法
  11. 周期串plus 水题
  12. layer j基本属性
  13. Spring 事务的那些坑,都在这里了!
  14. php想做一个无刷新弹窗,php+ajax实现无刷新的新闻留言系统
  15. vim编辑器 解决vim编辑异常
  16. APISpace 行驶证OCR API
  17. Heuristic function
  18. charles 本地IP地址
  19. FD-GAN: Pose-guided Feature Distilling GAN for Robust Person Re-identification
  20. python实现最小二乘拟合函数(选择三种不同基函数,基函数可改变)

热门文章

  1. 51单片机 Proteus仿真 重量报警 超重报警 HX711 称重报警
  2. 怎么一次抛出多个异常
  3. 乐视手机优化服务器,乐视手机卡顿怎么办?新技能Get让你的乐视手机顺畅自如...
  4. Maven clean和install的区别
  5. QnA,一个 Hexo FAQ 主题
  6. Java基础教程12-while循环
  7. 蜜雪冰城“再下一城”
  8. seo的11种赚钱方法
  9. shutdown 定时关机
  10. JavaScript发扑克牌并且将牌整理好