当前位置: 首页 > news >正文

精品课程云网站建设网络建站培训

精品课程云网站建设,网络建站培训,濉溪建设投资网站,wordpress 安装 插件算法思路: 将所有边按照权值的大小进行升序排序,然后从小到大一一判断。 如果这个边与之前选择的所有边不会组成回路,就选择这条边分;反之,舍去。 直到具有 n 个顶点的连通网筛选出来 n-1 条边为止。 筛选出来的边…

算法思路:

将所有边按照权值的大小进行升序排序,然后从小到大一一判断。

如果这个边与之前选择的所有边不会组成回路,就选择这条边分;反之,舍去。

直到具有 n 个顶点的连通网筛选出来 n-1 条边为止。

筛选出来的边和所有的顶点构成此连通网的最小生成树。

判断是否会产生回路的方法为:使用并查集。

在初始状态下给各个个顶点在不同的集合中。

遍历过程的每条边,判断这两个顶点的是否在一个集合中。

如果边上的这两个顶点在一个集合中,说明两个顶点已经连通,这条边不要。如果不在一个集合中,则要这条边。

 

//kruskal求最小生成树
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 2e5 + 9;struct Edge
{int a, b, w;bool operator< (const Edge& W) const{return w < W.w;}
} edges[N];int n, m, p[N], res, cnt;int find(int x)
{if (p[x] != x) p[x] = find(p[x]);return p[x];
}int main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin >> n >> m;for (int i = 0; i < m; ++i){int a, b, w; cin >> a >> b >> w;edges[i] = { a, b, w };}//从小到大排序sort(edges, edges + m);//并查集数组初始化for (int i = 1; i <= n; ++i) p[i] = i;//如果这个边与之前选择的所有边不会组成回路,就选择这条边分;反之,舍去。//判断是否会产生回路的方法为:使用并查集。//每次将未加入的边加入到集合中去for (int i = 0; i < m; ++i){int a = edges[i].a, b = edges[i].b, w = edges[i].w;//不在一个集合里面a = find(a), b = find(b);if (a != b){res += w;cnt++;p[a] = b;//加入集合}}//如果集合中的边数小于n - 1,说明不存在最小生成树if (cnt < n - 1) cout << "impossible";else cout << res;return 0;
}

关于并查集可以看一下我写的这个篇文章: http://t.csdnimg.cn/ClmtA

 

 

http://www.yayakq.cn/news/441420/

相关文章:

  • 西宁网络信息 网站建设伊春百姓网免费发布信息网
  • 食品企业网站建设方案wordpress 数据库批量
  • 网站建设上传重庆公司地址
  • 北京教育云平台网站建设富阳建立网站的
  • 网站建设售后服务合同网站举报电话是多少
  • 高端的咨询行业网站策划卡片风格网站
  • 网站建设三秒原则免费制作的企业网站
  • 网站建设方面的销售经验珠海自助建站
  • 泉州网站制作报价包装材料东莞网站建设
  • 自己做的网站还要买域名么网站上线准备工作
  • 外包做网站怎么拿源代码网站做编辑器
  • 网站详情页怎么做的怎么自己建立公司网站
  • 北京设计企业网站wordpress判断首页
  • 服装网站建设策划方案seo免费外链工具
  • 程序员找工作的网站网站开发的权限设置
  • 企业培训课程名称深圳市seo网站设计多少钱
  • 唐山市住房房和城乡建设厅网站unity网站后台怎么做
  • 青海餐饮网站建设好的外国设计网站推荐
  • 怎么做qq空间支付网站加强旅游网站建设
  • 百度竞价设不同网站wordpress 分页 插件下载
  • 复兴网站制作上海工商网
  • 找人做任务网站有哪些wordpress 摄影订单
  • 做外链哪个网站好wordpress登录用添加验证码
  • 网网站建设站建设电子商务网站建设与管理笔试
  • 8图片这样的网站怎么做山东网架公司
  • 寮步网站建设公司广州新塘网站建设推广公司
  • 做任务领q币网站太平建设公司官方网站
  • 动漫php网站模板商城网站源码下载
  • 网站微信二维码侧边栏漂浮框中国企业查询官网
  • 广州市建设网站承包建筑工程信息网站