最小生成树
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver
题解
题目描述 Description
农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了使花费最少,他想铺设最短的光纤去连接所有的农场。 你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。 每两个农场间的距离不会超过100000

输入描述 Input Description
第一行: 农场的个数,N(3<=N<=100)。

第二行..结尾: 接下来的行包含了一个N*N的矩阵,表示每个农场之间的距离。理论上,他们是N行,每行由N个用空格分隔的数组成,实际上,他们每行限制在80个字符以内,因此,某些行会紧接着另一些行。当然,对角线将会是0,因为线路从第i个农场到它本身的距离在本题中没有意义。

输出描述 Output Description
只有一个输出,是连接到每个农场的光纤的最小长度和。

样例输入 Sample Input
4

0 4 9 21

4 0 8 17

9 8 0 16

21 17 16 0

样例输出 Sample Output
28
没有写在前面
——————————————————————————————————————————————
解题思路:最小生成树prim算法
代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int f[1000],a[200][200],n;
bool flag[1000];
main()
{scanf("%d",&n);for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)scanf("%d",&a[i][j]);memset(f,127,sizeof(f));f[1]=0;int ans=0;for (int i=1;i<=n;i++){int k=0;for (int j=1;j<=n;j++)if (!flag[j]&&f[k]>f[j]) k=j;if (k!=0) ans+=f[k];flag[k]=true;for (int j=1;j<=n;j++)if (!flag[j]&&f[j]>a[k][j]) f[j]=a[k][j];}printf("%d",ans);
}

【codevs1078】最小生成树,prim算法相关推荐

  1. [Java学习] 最小生成树——Prim算法

    文章目录 最小生成树 Prim算法流程 应用实例 求最小生成树 最小生成树 百度百科上对于最小生成树的定义是这样的:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结 ...

  2. 最小生成树Prim算法Java版

    最小生成树Prim算法Java版 算法描述: 在一个加权连通图中,顶点集合V,边集合为E 任意选出一个点作为初始顶点,标记为visit,计算所有与之相连接的点的距离,选择距离最短的,标记visit. ...

  3. D-OJ刷题日记:使用邻接矩阵实现最小生成树Prim算法 题目编号:1135

    理解: [理解prim算法本质--让一棵小树逐渐长大] Prim算法:又称为加边法,即每次选择最小权值的边加入到生成树中,然后再更新权值,如此反复,保证每次最优来达到最优解. Prim算法生成树用的是 ...

  4. 西南科技大学OJ题 求最小生成树(Prim算法)1075

    求最小生成树(Prim算法) 1000(ms) 10000(kb) 2256 / 4495 Tags: 生成树 求出给定无向带权图的最小生成树.图的定点为字符型,权值为不超过100的整形.在提示中已经 ...

  5. 最小生成树-Prim算法详解(含全部代码)

    目录 适用条件 测试所用图 算法详解 Prim算法代码 全部代码 实验结果 适用条件 加权连通图 测试所用图 所用原图及生成过程 其中,(a) 为原图,圆圈里面是节点的名称,边上的数字是边的权值.由实 ...

  6. 最小生成树 - Prim算法

    最小生成树 - Prim算法 思路: 采用 贪心策略,每次选取连通块外延的最短边和对应的点放入连通块,再更新新的连通块外延的边.连通部分逐渐扩大,最后将整个图连通起来,并且边长之和最小. 时间复杂度: ...

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

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

  8. 生成树的概念,最小生成树Prim算法 Kruskal算法

    求解最小生成树可以用Prim算法 Kruskal算法

  9. POJ2728 Desert King ——01分数规划Dinkelbach迭代法+最小生成树prim算法

    首先,纪念我用Linux系统AC的第一题-   安装这个万恶的NOI Linux系统费了6小时的时间,不过好在最后终于装上了,但是因为我安装的Linux系统比较烂,还遭到了小花儿和js的鄙视,唉,本人 ...

  10. 图论(十)最小生成树-Prim算法

    前面说过,Prim算法是从顶点着手构建最小生成树的.应该说,Prim算法比Kruskal更简单.我们还是以前面的乡镇假设光纤网络为例: Prim算法工作步骤 (1) 构建全部顶点集V,选取初始顶点,加 ...

最新文章

  1. enable 华为交换机ntdp_关于华为交换机bpdu enable. ntdp enable. ndp enable解析
  2. 我历时3年才写了10余篇源码文章,但收获了100w+阅读
  3. float php 运算_写给 PHP 程序员的 Python 学习指南
  4. html上拉下拉查看文字内容,html5上拉下拉事件效果演示
  5. Appium python adb命令
  6. 系统软键盘Android在外接物理键盘时,如何强制调用系统软键盘?
  7. 软件工程-团队作业3
  8. LoggingBean如何获取调用类和调用方法信息LoggingSelenium
  9. CPU电梯卡测试软件,CPU电梯卡延期软件
  10. 旧式有线打印机联网探索
  11. reshape() 函数与 kron()函数的区别
  12. 【解决方案】SkeyeARS及SkeyeIVMS技术助力地铁安防视频监控系统建设
  13. 29、NeRV: Neural Reflectance and Visibility Fields for Relighting and View Synthesis
  14. 一个男人不顾家的表现有哪些?
  15. mysql5.7无损复制_MySQL5.7新特性:lossless replication 无损复制
  16. 《Java程序性能优化》
  17. tensorRT onnx中属性名相同,但实际大小不同生成问题
  18. 51nod 矩阵快速幂模版题
  19. 批量处理图片学习心得
  20. linux python 例子,初学python案例 字典

热门文章

  1. 设计模式笔记五:原型模式
  2. 使用CLion构建Qt项目
  3. M1Mac使用TensorFlow出现AttributeError: ‘h5py.h5t.TypeID‘ object has no attribute ‘set_fields‘的解决办法
  4. java面向对象的理解_java胜于C语言,却又静态面向对象,简单?
  5. 云计算仿真框架CloudSim介绍(截图版)
  6. HTML标签的书写和嵌套规范
  7. lbp特征提取算法 知乎_图像-LBP特征描述算子-人脸检测
  8. python1011无标题_讲解:Python:COMP1011 Programming For The WebPython
  9. 计算机word设置渐变填充,Word中鲜为人知的渐变效果设置
  10. idea如何自制插件_Lice IntelliJ插件图标制作过程