【OpenJ_Bailian - 1258】【POJ - 1258】Agri-Net (最小生成树裸题)

题干:

Farmer John has been elected mayor of his town! One of his campaign promises was to bring internet connectivity to all farms in the area. He needs your help, of course. 
Farmer John ordered a high speed connection for his farm and is going to share his connectivity with the other farmers. To minimize cost, he wants to lay the minimum amount of optical fiber to connect his farm to all the other farms. 
Given a list of how much fiber it takes to connect each pair of farms, you must find the minimum amount of fiber needed to connect them all together. Each farm must connect to some other farm such that a packet can flow from any one farm to any other farm. 
The distance between any two farms will not exceed 100,000. 

Input

The input includes several cases. For each case, the first line contains the number of farms, N (3 <= N <= 100). The following lines contain the N x N conectivity matrix, where each element shows the distance from on farm to another. Logically, they are N lines of N space-separated integers. Physically, they are limited in length to 80 characters, so some lines continue onto others. Of course, the diagonal will be 0, since the distance from farm i to itself is not interesting for this problem.

Output

For each case, output a single integer length that is the sum of the minimum length of fiber required to connect the entire set of farms.

Sample Input

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

Sample Output

28

解题报告:

     最小生成树裸题。

AC代码:

#include<cstdio>
#include<queue>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;int n,m;
int top,f[105];
struct Edge {int u,v,w;Edge(){}Edge(int u,int v,int w):u(u),v(v),w(w){}
} e[100 * 99]; 
int getf(int u) {return f[u]==u?u:f[u]=getf(f[u]);
}
void merge(int u,int v) {int t1 = getf(u);int t2 = getf(v);if(t1!=t2) f[t2]=t1;
}
bool cmp(Edge a,Edge b) {return a.w < b.w;
}
int main()
{int val;while(~scanf("%d",&n)) {top = 0;for(int i = 1; i<=n; i++) {f[i]=i;for(int j = 1; j<=n; j++) {scanf("%d",&val);if(i!=j) e[++top] = Edge(i,j,val);}}sort(e+1,e+top+1,cmp);m=0;val = 0;for(int i = 1; i<=top; i++) {if(getf(e[i].u) != getf(e[i].v)) {m++;merge(e[i].u,e[i].v);val += e[i].w;}if(m == n-1) break;}printf("%d\n",val);}	return 0;
}

总结:其实那个 i != j可以改成i<j,会稍微快一点,不过也无所谓都可以ac,一个6ms,一个5ms。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker jenkins 公钥_代码自动发布docker(20.10.1)+k8s(1.20.1)

PaaS平台Docker版本(20.10.1) 2020-12-15 k8s版本(1.20.1) 2020-12-19代码托管&#xff1a;https://github.com/kubernetes/官方网址&#xff1a;https://kubernetes.io/pod--容器外壳service--不是真正的服务是iptables或ipvs中的规则先创建pod&#xff0c;后创建service…

【HDU - 1272】小希的迷宫 (并查集判环)

题干&#xff1a; 上次Gardon的迷宫城堡小希玩了很久&#xff08;见Problem B&#xff09;&#xff0c;现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样&#xff0c;首先她认为所有的通道都应该是双向连通的&#xff0c;就是说如果有一个通道连通了房间A和B&…

东北育才高中2021年高考成绩查询,东北育才学校国际部2021年招生计划

学校每年的招生计划都会发生变化&#xff0c;并不是一成不变的&#xff0c;所以大家一定要时刻关注招生计划。在报考一所学校的时候&#xff0c;大家要有计划性的选择报考学校&#xff0c;要先去了解学校大概招收多少学生&#xff0c;这样大家在报考学校时候的才能更好地去选择…

html启动word程序,Word工具栏直接启动外部程序

Word工具栏直接启动外部程序互联网 发布时间&#xff1a;2008-10-06 15:13:37 作者&#xff1a;佚名 我要评论从Word工具栏中也能直接启动外部程序&#xff0c;这样操作起来非常方便。我们以从Word启动计算器举例说明。单击“工具”菜单下的“自定义”命令&#xff0c;打…

linux ip brd不一致_3 个方便的命令行网速度测试工具 | Linux 中国

用这三个开源工具检查你的互联网和局域网速度。-- Ben Nuttall能够验证网络连接速度使您可以控制计算机。使您可以在命令行中检查互联网和网络速度的三个开源工具是 Speedtest、Fast 和 iPerf。SpeedtestSpeedtest 是一个旧宠。它用 Python 实现&#xff0c;并打包在 Apt 中&am…

【HDU - 1266 】Reverse Number(模拟,数字分位数处理)

题干&#xff1a; Welcome to 20064 computer college programming contest! Specially, I give my best regards to all freshmen! You are the future of HDU ACM! And now, I must tell you that ACM problems are always not so easy, but, except this one... Ha-Ha! G…

语言nomogram校准曲线图_R语言实现Cox模型校准度曲线绘制

01研究背景这是关于cox模型的第二篇文章&#xff0c;上一篇文章分享了运用Lasso回归如何筛选变量&#xff0c;将筛选后的变量绘制Nomogram图&#xff0c;本章分享构建模型后&#xff0c;如何绘制校准曲线。cox模型的验证不同于Logistic回归&#xff0c;cox的结局包括时间和状态…

【HDU - 5744 】Keep On Movin (回文串性质,贪心思维,不是水题)

题干&#xff1a; Professor Zhang has kinds of characters and the quantity of the ii-th character is aiai. Professor Zhang wants to use all the characters build several palindromic strings. He also wants to maximize the length of the shortest palindromic s…

国开大学计算机应用基础作业二,国家开放大学《计算机应用基础》形考作业二答案解析 (2)...

.题目1在Word 2010中编辑文本时&#xff0c;编辑区显示的“网格线”在打印时( )出现在纸上。选择一项&#xff1a;A. 全部 B. 不会C. 一部分 D. 大部分 正确答案是&#xff1a;不会题目2Word 2010 处理的文档内容输出时与页面显示模式显示的( )。选择一项&#xff1a;A. 一部分…

转成数组_JavaScript之数组扁平化

今天给大家分享一下JavaScript的数组扁平化。1. 扁平化数组的扁平化&#xff0c;就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。举个例子&#xff0c;假设有个名为 flatten 的函数可以做到数组扁平化&#xff0c;效果就会如下&#xff1a;知道了效…

【POJ - 2676】Sudoku (经典深搜,dfs数独)

题干&#xff1a; Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the Figure. In some of the cells are written decimal digits from 1 to 9. The other cells are empty. The goal is to fill…

计算机专业408题目结构,2019考研408计算机组成原理知识:计算机系统层次结构

计算机组成原理在408计算机综合考试中所占分值45分&#xff0c;说明是必考的重点内容&#xff0c;考生要在这部分多花时间复习。以下是新东方在线整理的的计算机组成原理知识&#xff0c;希望大家认真看。2019考研408计算机组成原理知识:计算机系统层次结构1. 计算机硬件的基本…

overleaf表格_latex 表格制作

在制作latex表格时遇到了以下问题&#xff1a;一、合并单元格包括多行合并、多列合并、多行多列同时合并。多行合并&#xff1a; \multirow{2}{*}{Multi-Row}多列合并&#xff1a; \multicolumn{2}{|c|}{Multi-Column}多行多列同时合并&#xff1a;\multicolumn{2}{|c|}{\multi…

【HihoCoder - 1268】九宫 (dfs,深搜)

题干&#xff1a; 小Hi最近在教邻居家的小朋友小学奥数&#xff0c;而最近正好讲述到了三阶幻方这个部分&#xff0c;三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中&#xff0c;使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格&#xff0c;在…

河北师范大学计算机应用技术分数线,2019年河北师范大学各专业录取分数线

高考总分达到或超过某一分数线的考生档案&#xff0c;才有资格被招生高校调阅并选择录取。各高校不同专业每一年的录取分数线有所区别&#xff0c;下文是小编给大家整理的2019年河北师范大学各省各专业高考录取分数线详情&#xff0c;供参考&#xff01;2019河北师范大学各省各…

mysql in partition_MySQL Partition分区扫盲

MySQL从5.1.3开始支持Partition&#xff0c;你可以使用如下命令来确认你的版本是否支持Partition&#xff1a;mysql> SHOW VARIABLES LIKE %partition%;--------------------------| Variable_name | Value |--------------------------| have_partitioning | YES |--------…

【HihoCoder - 1662】查找三阶幻方 (九宫)(暴力)

题干&#xff1a; 给定一个N x M的矩阵&#xff0c;请你数一数其中有多少个3 x 3的子矩阵可以构成三阶幻方&#xff1f; 如果3 x 3的矩阵中每一行、每一列和两条对角线上的3个数之和都相等&#xff0c;我们就认为其构成一个三阶幻方。 Input 第一行包含两个整数N和M。(1 …

mysql主从结构主数据库_mysql主从结构主数据库中的日志

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

计算机英语反思总结,计算机在英语教学中辅助作用的反思

计算机在英语教学中辅助作用的反思 (3页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.9 积分题目&#xff1a;计算机在英语教学中辅助作用的反思科目&#xff1a; SS 学校&#xff1a; 灵石第一职…

C 的Pair用法分类整理(精)

1 pair的应用 pair是将2个数据组合成一个数据&#xff0c;当需要这样的需求时就可以使用pair&#xff0c;如stl中的map就是将key和value放在一起来保存。另一个应用是&#xff0c;当一个函数需要返回2个数据的时候&#xff0c;可以选择pair。 pair的实现是一个结构体&#xff…