题目背景

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

题目描述

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

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

输入格式

第一行农场的个数 NN(3 \leq N \leq 1003≤N≤100)。

接下来是一个 N \times NN×N 的矩阵,表示每个农场之间的距离。理论上,他们是 NN 行,每行由 NN 个用空格分隔的数组成,实际上,由于每行 8080 个字符的限制,因此,某些行会紧接着另一些行。当然,对角线将会是 00,因为不会有线路从第 ii 个农场到它本身。

输出格式

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

输入输出样例

输入 #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<bits/stdc++.h>
using namespace std;
const int N=2e2+10,M=2e4+10;
int p[N];
int a[N][N];
int n;
struct stu
{int a,b,w;bool operator <(const stu &W)const{return w<W.w;}}stu[M];int find(int x)
{if(p[x]!=x) p[x]=find(p[x]);return p[x];
}int kur(int sum)
{int res=0,cnt=0;for(int i=1;i<=sum;i++){int a=stu[i].a,b=stu[i].b,w=stu[i].w;a=find(a),b=find(b);if(a!=b){p[a]=b;cnt++;res+=w;}}return res;
}int main()
{cin>>n;int sum=0;for(int i=1;i<=n;i++) p[i]=i;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];if(j>i){sum++;stu[sum].a=i,stu[sum].b=j,stu[sum].w=a[i][j];}}}//    for(int i=1;i<=n;i++)
//    {
//      for(int j=1;j<=n;j++)
//      {
//          if(i==j) continue;
//
//          stu[i]={i,j,a[i][j]};
//
//      }
//  }sort(stu+1,stu+1+sum);int t=kur(sum);cout<<t<<endl;return 0;
}

P1546 [USACO3.1]最短网络 Agri-Net相关推荐

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

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

  2. 洛谷——P1546 最短网络 Agri-Net

    P1546 最短网络 Agri-Net 题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一 ...

  3. usaco ★Agri-Net 最短网络

    ★Agri-Net 最短网络 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农 场.当然,他需要你的帮助. 约翰已经给他的农场安排了一条高速的网络线路,他想把这条 ...

  4. 最短网络Agri-Net

    [例4-11].最短网络Agri-Net [问题描述] 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助.约翰已经给他的农场安排了一条高速 ...

  5. USACO3.1.1最短网络

    农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场.为了用最小的 ...

  6. P1546 最短网络 Agri-Net

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

  7. USACO 3.1 Agri-Net 最短网络 (最小生成树)(克鲁斯卡尔算法)

    题意 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助.约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场.为了用最 ...

  8. USACO 3.1 Agri-Net 最短网络 (最小生成树)(普里姆算法)

    题意 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助.约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场.为了用最 ...

  9. 最短网络(信息学奥赛一本通-T1350)

    [题目描述] 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助.约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场. ...

最新文章

  1. 用 Flask 来写个轻博客 (20) — 实现注册表单与应用 reCAPTCHA 来实现验证码
  2. 【扫盲】什么是FTP、FTPS 和 SFTP?
  3. 5.16-在线词识别程序学习(ASR+IAT)
  4. 运用begin和end截取值
  5. 怎么在Windows 11中为音频输出选择扬声器
  6. javascript基本数据类型与值类型引用类型说明
  7. MySQL的MVCC底层原理
  8. micropython和python区别-选择C/C++还是选择MicroPython来开发?(第0章-第三节)
  9. Go语言学习笔记(四)结构体struct 接口Interface 反射reflect
  10. java编程对电脑配置,编程对电脑配置要求高吗?
  11. mdf mysql_mdf mysql数据库
  12. SQL注入(持续更新中)
  13. 如何做一场B格满满的技术大会演讲
  14. OpenCV——图像细化算法
  15. 四阶段课堂总结解决问题
  16. 【推荐架构day2】微博怎么给你推荐信息的:基本原理
  17. python求鸡兔同笼 鸡兔总数鸡兔腿_编写一个程序解鸡兔同笼问题:已知鸡兔总数为a,鸡兔腿总数为b,计算鸡兔各有多少只?...
  18. 解决Ubuntu18.04版本高分辨率下导致字体过小问题
  19. nginx-php类似nginx-lua的扩展,nginx-php中文开发文档
  20. 等保三级核心-主机安全

热门文章

  1. 怎样实现随机抽题php,ppt VBA 实现随机抽题
  2. www_php168_com,拳学真谛 - 李紫剑文集 - 中国轨迹拳学网 Powered By www.php168.com
  3. 程序设计语言中的 一等公民,二等公民,三等公民
  4. 求x+x2+x3+...+xn的值
  5. 计算机专业述职报告范文,计算机管理员述职报告范文
  6. 科技是唯一可叠加式进步的动力
  7. mysql数据库报错1709_一、数据库的使用Mysql
  8. wps文字退格会删掉文字_WPS加字时总是把后面的字删除,如何解决?
  9. 用U盘启动WinPE全新安装原版XP系统--有关pe装系统
  10. VBA自动生成excel的表单及链接的方法