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

再畅通工程(最小生成树)

题目描述:还是畅通工程

某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。

输入描述:

测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100
);

随后的N(N-1)/2行对应村庄间的距离,

每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。

为简单起见,村庄从1到N编号。
当N为0时,输入结束,该用例不被处理。

输出描述:

对每个测试用例,在1行里输出最小的公路总长度。

 算法分析:最小生成树至少包含一个最小边;每次找最小的边;

若成环,则丢弃,继续遍历下一个边

(判断是否会成环:若边两点属于一个集合,)

反证:若一个最小生成树,不包含最小边

     用最小边,替换其中一条边,得到的更小的生成树(则矛盾)

代码实现:

 

易错细节:1.min1的大小应该大于n*(n-1)/2

(1)虽然数组开小了,但没说明内存问题(很难发现)

 

 

 

 

 

 

 

 

http://www.lryc.cn/news/209154.html

相关文章:

  • 前后端分离不可忽视的陷阱,深入剖析挑战,分享解决方案,助你顺利实施分离开发。
  • (四)库存超卖案例实战——优化redis分布式锁
  • 【ROS入门】雷达、摄像头及kinect信息仿真以及显示
  • 实用篇-认识微服务
  • 【产品运营】产品需求应该如何管理
  • Linux 系统调用IO口,利用光标偏移实现文件复制
  • 【原创】指针变量作为函数参数要点注意
  • SpringMVC Day 04 : 数据绑定
  • 2.3.1 协程设计原理与汇编实现
  • J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
  • Lua脚本语言
  • cat()函数和print()函数的区别
  • 宝塔面板安装Python和Flask(新版Python项目)
  • 火柴排队.
  • 改善游戏体验:数据分析与可视化的威力
  • GEE:本地影像上传到GEE的Assets中,并输入机器学习算法中作为特征变量
  • 【Mybatis源码】XMLConfigBuilder构建器 - 读取XML配置初始化Configuration对象
  • Python算法练习 10.28
  • 【java学习—八】单例设计模式(5)
  • 【设计模式】第4节:创建型模式之“单例模式”
  • NodeJS爬取墨刀上的设计图片
  • linux--
  • conda虚拟环境笔记收录
  • RGB-T Salient Object Detection via Fusing Multi-Level CNN Features
  • 安卓开发实例:方向传感器
  • [论文笔记]GTE
  • Prometheus字段解析
  • msigdbr hallmarks gsea broad研究所
  • 理解V3中的proxy和reflect
  • 实现寄生组合继承