最小生成树 之 kruskal 算法 Agri-Net POJ - 1258

POJ1258 Agri-Net中英对照翻译与参考解答 POJ1258 Agri-Net 传送门: POJ1258 关键词: 图;Prim Description 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... 阅读详情

原题:

     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

 

题意:输入起始点到终止点 长度,求最短路径的和

解题思路:将权值从小到大排序,然后将选取的点加入并查集,避免重复选取

#include<cstdio>
#include<algorithm>
using namespace std;
struct node{
	int s,e,w;
}a[10005];
int fa[10005];
int m;
bool cmp(node a,node b){
	return a.w < b.w;
}
int get(int i){     // 获取父节点,并进行路径压缩
	if(fa[i] != i){
		fa[i] = get(fa[i]);
	}
	return fa[i];
}
void kruskal(){
	sort(a,a+m,cmp);
	int ans = 0;
	for(int i = 0;i < m;i++){
		int x = get(a[i].s);
		int y = get(a[i].e);
		if(x != y){        // 合并两个集合
			fa[x] = y;
			ans += a[i].w;   // 求最小权值和
		}
	}
	printf("%d\n",ans);
}
int main(){
	int n;
	while(scanf("%d",&n) != EOF){
		m = 1;
		for(int i = 1;i <= n;i++){
			fa[i] = i;
		}
		for(int j = 1;j <= n;j++){
			int x;
			for(int i = 1;i <= n;i++){
				scanf("%d",&x);
				a[m].s = j;
				a[m].e = i;
				a[m].w = x;
				m++;
			}
		}
		kruskal();
	}
	return 0;
}

 

 

 

 

 

poj1258 Agri-Net 最小生成树 prim kruskal 模板 Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 56702   Accepted: 23513 Description Farmer John has been elected mayor of his town! One of his campa 阅读详情

相关推荐

数据结构 图的最小生成树 C++描述 使用prim算法、kruskal算法

分别利用prim算法和kruskal算法实现求图的最小生成树 C++描述

POJ_1258_Farmer John has been【基础最小生成树】

Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Description Farmer John has been elected mayor of his town! One of his campaign promises was to bring in

持之以恒_fighting 3277

【Anaconda】conda国内镜像源快速配置指南(清华/阿里云)

本文详细介绍了如何为Anaconda配置国内镜像源(清华/阿里云),以显著提升conda包下载速度并减少安装失败率。通过分步指南和实用技巧,帮助开发者快速完成配置,优化Python开发环境。

weixin_33725722的博客 1486

《POJ 1258 - Agri-Net》的题解

《POJ 1258 - Max Sum Plus Plus》的题解 题目的描述 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...

weixin_46163391的博客 715

基于多智能体深度强化学习的空地协同通信系统轨迹设计与访问控制

所属子方向: UAV assisted communication 名词注释 coordinated:协调、协同 base stations 基站,公用移动通信基站,是移动设备接入互联网的接口设备,是指在一定的无线电覆盖区中,通过移动通信交换中心,与移动电话终端之间进行信息传递的无线电收发信电台。 UAV-BS:无人机基站 cooperative-competitive game:合作竞争博弈 throughput :吞吐量,每秒比特数 bps,bits per second Determinis

skysys的研究小屋 4969

Python气象雷达数据处理实战:用PyCINRAD从基数据到PPI图的完整流程

本文详细介绍了使用PyCINRAD库处理气象雷达基数据并生成PPI图的完整流程,涵盖环境配置、数据读取、反射率与速度数据提取、可视化优化等关键步骤。通过实战案例演示如何从原始雷达数据到专业级PPI图像生成,为气象研究和业务应用提供高效解决方案。

yog99的博客 758

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 spee...

WhileTrue 368

从高德、百度地图下载POI数据?用这个工具5分钟搞定GCJ02/BD09到WGS84的坐标纠偏

本文详细解析了高德、百度地图POI数据坐标偏移问题,并提供了从GCJ02/BD09到WGS84的高效转换方案。通过开源工具如coordtransform和ArcGIS等专业软件,实现毫米级精度的坐标纠偏,适用于商业选址、GIS分析等场景,显著提升数据准确性和工作效率。

weixin_26789847的博客 448

最小生成树

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 spee

baoluqi的博客 450

自动识别象棋棋子的OpenCV应用

在计算机视觉领域,OpenCV是一个广泛应用的开源计算机视觉库,它提供了丰富的图像处理和分析工具。本文将介绍如何使用OpenCV实现自动识别象棋棋子的功能,并提供相应的源代码。通过以上代码,我们可以实现对棋盘图像中棋子的自动识别。需要注意的是,以上代码只是一个简单的示例,实际应用中可能需要根据具体情况进行参数调整和算法优化,以获得更好的识别效果。函数利用预处理后的图像,寻找图像中的轮廓,并根据轮廓的面积筛选出可能的棋子轮廓,最后在原图像中提取棋子区域。在主程序中,我们读取输入图像,并调用。

WzisTypescript的博客 906

第十届MathorCup高校数学建模挑战赛-B题:养老服务床位需求预测与运营模式研究

当养老床位数增加时存在的商机,提出了相应的养老服务床位的运营商业模式。就业的可能性,建立多目标规划模型,尽可能同时满足三方面的要求。务床位的需求、制定合理的养老服务床位发展规划,是构建和谐社会、幸福社会。问题一的床位需求与市场类型的分类结果,查找关于国内养老院的相关数据,探。求,又能持续发展养老事业,同时还能促进社会就业的养老服务床位运营的商业。养老服务床位数的增加能够带来的就业方面因素的影响,并对这些因素进行一个。你们的模型及其结论为科学依据,对政府管理部门针对养老床位规划提出合理的。

getusushu的博客 1139

poj1258 Agri-Net 最小生成树,kruskal算法

题目连接:http://poj.org/problem?id=1258 思路:原始的最小生成树,第一次写

basement_boy 767

【RT-DETR多模态融合改进】| 自研 多模态大核选择模块:MM_LSK,适配多模态图像信息融合

本文记录的利用改进的多模态大核选择模块(MM-LSK)优化RT-DETR,构建可见光-红外双模态目标检测网络。在遥感等大尺寸图像的可见光-红外双模态小目标检测任务中,单模态检测易受光照、云雾、背景干扰等因素影响,且小目标外观信息匮乏,无法仅基于单模态外观实现较好的识别,因此需要融合双模态互补特性与广泛的跨模态上下文信息进行辅助。

Limiiiing的博客 381

POJ 1258 Agri-Net 最小生成树(Kruskal算法入门)

/** * 最小生成树(入门) Kruskal算法: * 这题输入的数据其实有一半一上是根本不需要存的。因为依题意这是个无向图 * 而且看样例也看得出,对角线及以下(或以上)都是可以省去的。 * 这样在存数据的时候直接存当j > i的时候(也就是上三角的数据),都将数据 * 存到nodes[]中,node表示边,存两点和权值。 * 根据Kruskal算法,

xuruoxin的专栏 824

[Dify实战] OA 公文排版助手:自动格式化、编号、生成摘要-带配套资源

摘要: Dify 公文排版助手通过自动化解决公文处理中的格式混乱、编号错漏等问题。支持标题层级自动编号、摘要生成、要素补全等功能,输出标准化Markdown格式。核心流程包括输入原文、智能识别、自动排版与要素输出,适用于通知、纪要等场景。实施需统一模板规则,规范输入格式,并通过试跑优化纠错率与处理效率。关键价值在于减少人工返工,提升排版一致性,未来可对接OA系统实现全流程自动化。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 471

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

POJ 1258 Agri-Net(最小生成树Kruskal算法)

// // main.cpp // Richard // // Created by 邵金杰 on 16/8/17. // Copyright © 2016年 邵金杰. All rights reserved. // #include #include #include #include using namespace std; const int maxn=10000+10; int

qq_33901573的博客 311

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

最小生成树(Kruskal)POJ 1258 Agri-Net

最小生成树(Kruskal)POJ 1258 Agri-Net 题目链接: Agri-Net 题目基础: 最小生成树-Kruskal(克鲁斯卡尔)算法 思路: 题目大意: 有N个村庄,输入每个村庄到编号为1~N的距离,每个村落都需要网络覆盖,问网线的最短长度 题解: 最小生成树的裸题,按模板打 说个优化吧,样例给的是一个矩阵,但很容易想到,1到3的距离和...

[SZU_Crayon] 509

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

poj1258 - Agri-Net (经典邻接矩阵 求最小生成树) (Prim & Kruskal)

Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 40028   Accepted: 16291 Description Farmer John has been elected mayor of his town! One of his campaig

ITCTO-疯男的优快云博客 878

POJ 1258 Agri-Net 最小生成树 Kruskal算法

这个题目有点小坑,它包含多组测试用例,而且需要用~scanf来作为循环条件,用scanf!

qq_53038151的博客 133

POJ1258 Agri-Net,Kruskal算法

这题很简单,我选择用Kruskal算法,prim算法其实比较简单一点。。。 /******************************************************************************* # Author : Neo

Neo Fung的专栏 803

20-1-16-Prime-POJ1258-Minimun_Spanning_Tree

POJ1258 Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 77439 Accepted: 31957 Description Farmer John has been elected mayor of his town! One of his campaign promises...

shen253135371的博客 201

Agri-Net(POJ 1258)(裸最小生成树)(Prime算法+Kruskal算法)

Agri-Net(POJ 1258)(裸最小生成树)(Prime算法+Kruskal算法)

Ema1997的博客 607

poj 1258 Agri-Net

poj 1258 Agri-Net 这里,本来是用prim算法更好一点,但是,emmm,确实还没有掌握该算法的具体实现步骤,所以先使用了Kruskal算法进行求解,对于这类图的问题,需要先转化成两点之间线路的形式进行存储后再使用Kruskal算法进行求解。 #include <iostream> #include <string.h> #include <algor...

CUCUC1的博客 172

poj 1258 Agri-Net

poj 1258 Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 51094 Accepted: 21275 DescriptionFarmer John has been elected mayor of his town! One of his campaign promises

Switch的博客 1118

poj 1258 小白算法练习 Agri-Net 最小生成树 prim kruskal

Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 60751   Accepted: 25170 Description Farmer John has been elected mayor of his town! One of his campa

水野与小太郎的博客 265

POJ1258 Agri-Net(最小生成树)

题目链接:http://poj.org/problem?id=1573 解题思路: 最小生成树!!! AC代码: #include #include #include #include using namespace std; const int maxn=100010; int pa[maxn]; int n,m,sum; struct Edge { int

piaocoder 566
上一篇: 最大生成树 之 kruskal Bad Cowtractors POJ - 2377
下一篇: MySQL 基础
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值