P1546 最短网络 Agri-Net

题目背景

农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。

题目描述

约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。

你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000

输入输出格式

输入格式:

第一行: 农场的个数,N(3<=N<=100)。

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

输出格式:

只有一个输出,其中包含连接到每个农场的光纤的最小长度。

输入输出样例

输入样例#1:

4
0 4 9 21
4 0 8 17
9 8 0 16
21 17 16 0

输出样例#1:

28

说明

题目翻译来自NOCOW。

USACO Training Section 3.1

最小生成树裸题

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 11000
using namespace std;
int n,x,y,s,z,ans,fa[N];
int read()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}return x*f;
}
struct Edge
{int x,y,z;
}edge[N<<1];
int find(int x)
{if(fa[x]==x) return x;fa[x]=find(fa[x]);return fa[x];
}
int cmp(Edge a,Edge b)
{return a.z<b.z;
}
int main()
{n=read();for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){z=read();if(z==0) continue;++s;edge[s].x=i;edge[s].y=j;edge[s].z=z;}for(int i=1;i<=n;i++) fa[i]=i;sort(edge+1,edge+1+s,cmp);int ans=0;for(int i=1;i<=s;i++){x=edge[i].x;y=edge[i].y;int fx=find(x),fy=find(y);if(fa[fx]==fy) continue;fa[fx]=fy;ans+=edge[i].z;}printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/z360/p/7468725.html

洛谷——P1546 最短网络 Agri-Net相关推荐

  1. 洛谷P1546 最短网络 Agri-Net

    P1546 最短网络 Agri-Net 526通过 959提交 题目提供者JOHNKRAM 标签图论贪心USACO 难度普及/提高- 提交该题 讨论 题解 记录 最新讨论 50分C++代码,求解 请指 ...

  2. 洛谷 1546 最短网络

    题目描述: 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场.为了用最小的消费,他想铺设最短的光纤去连接所有的农场.你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农 ...

  3. 洛谷P1262 间谍网络题解

    洛谷P1262 间谍网络题解 题目大意 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果 A 间谍手中掌握着关于 B 间谍的犯罪证据,则称 A 可以揭发 B.有些间谍收受贿赂,只要 ...

  4. 洛谷P2038 无线网络发射器选址

    题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的 \(129\) 条东西向街道和 \(129\) 条南北向街道所形 ...

  5. P1546 最短网络 Agri-Net

    最小生成树模板. 注意输入的不同,还有数组开大. #include<iostream> #include<cstdio> #include<cmath> #incl ...

  6. 洛谷1262 间谍网络 tarjan缩点

    题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B.有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报 ...

  7. 【洛谷P3376】网络最大流【网络流】

    分析 网络流算法本身是之前学过的,今天拿出来复习打个板子. 最原始的思路应该是搜索每一条路,每次进行增广的操作,知道不能增广为止.显然,这种思路复杂度比较高. 如何进行优化?就是dinic算法.上面那 ...

  8. 洛谷P1262 间谍网络

    传送门 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果 A 间谍手中掌握着关于 B 间谍的犯罪证据,则称 A 可以揭发 B.有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意 ...

  9. 洛谷or牛客数据结构+算法

    栈思想:先进后出 tips:栈里能放下标就放下标 (牛客)小c的计事本(直接用stack可以简化代码,且不会被自己绕晕,当时没意识到) (牛客)吐泡泡(没意识到用栈),(牛客)好串 1.后缀表达式(栈 ...

最新文章

  1. 服务器怎么可以维修荒野行动,荒野行动PC版 设置单独服务器让你尽情畅玩
  2. google Guava包的ListenableFuture解析
  3. sign check fail: check Sign and Data Fail解决方案
  4. Storm精华问答 | 最火的流式处理框架——Storm
  5. 编程题练习 两个栈实现队列
  6. 通用职责分配软件原则之7-纯虚构原则
  7. 解决长email在表格td中不自动换行的问题 CSS强制不换行
  8. tutte定理证明hall定理_县级数学教研网课:有趣的勾股定理证明,课件用几何画板制作...
  9. 基于Rasa_NLU的微信chatbot
  10. geometry 矢量数据操作
  11. 1人30天44587行代码,分享舍得网开发过程
  12. 管理科学与运筹学(MS/OR)国际权威期刊
  13. 高感 动态范围和宽容度的关系
  14. 纯蓝ICON_学习教程
  15. 串口控制74HC164C语言,51单片机74HC164串口控制数码管显示
  16. 基础//页面布局——三栏布局1
  17. 网络安全工程师有没有发展前景?
  18. 搜索引擎蜘蛛的基本原理及工作流程
  19. 单机诛仙3服务器正在维护,【运营版】诛仙3单机版天界一键MSSQL端修复大量BUG+视频教程+GM工具...
  20. 基于JAVA网上图书销售系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

热门文章

  1. JavaScript中的String()函数与示例
  2. 12-图像梯度-Scharr算子和laplacian算子
  3. php 载入css就可以显示,如何在进度条加载后显示页面
  4. 191. 位1的个数 golang
  5. 解释性语言和汇编性语言对比
  6. C语言typedef与#define的区别
  7. 软件工程---1.概述
  8. c++中的异常---3(系统标准异常库,编写自己异常类)
  9. linux下cron定时任务的总结
  10. Enum、Stream