修路 bjfu 1046 最小生成树

097634e9169c6777120550ad61afb6bc-1.jpg 立即下载

描述

ben向往隐士生活。假设有一天ben和另外n-1个志同道合的人约好一起去隐居,并且他们已经找到了一个山清水秀,鸟语花香的神秘、绝佳去处。他们选出适宜居住n个位置后,又嫌交通不便,所以想修一些路将他们的居住场所连接起来。ben是个例外,他觉得既然隐居嘛,何必在乎交通呢。现在给定他们选出的n个居住地的坐标,请帮他们设计一种方案,也就是修n-2条路将其中n-1个居住地连接起来使修路的成本最小。(假设修路的成本与路的长度成正比)

输入

输入首先包含一个整数T,表示测试数据的组数。
每组测试数据的第一行是整数 n ,n的含义如上所述(0 < n < 50)
然后是 n 行数据。 每一行都包含两个整数 x 和 y (-20 < = x,y < = 20),表示某一个居住地的坐标。

输出

对于每组测试数据,请在一行中输出修路的最小总长度。 结果保留两位小数。

样例输入

2
5
0 0
1 0
18 0
0 1
1 1
3
0 0
1 0
0 1

样例输出

3.00
1.00

#include <iostream>
#include <cmath>
using namespace std;
#define SIZE 50
#define MAX 0x7ffffff

struct node{
	int x,y;
};

double map[SIZE][SIZE],dir[SIZE];
node location[SIZE];
bool visited[SIZE];

double caldistance(node a,node b){
	return sqrt((double)(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}

int main(){
	int t,n,i,j,r;
	double low,min,path;
	scanf("%d",&t);
	while (t--){
		scanf("%d",&n);
		min=MAX;
		for (i=0;i<n;i++)
			scanf("%d%d",&location[i].x,&location[i].y);
		memset(map,0,sizeof(map));
		for (i=0;i<n;i++)
			for (j=0;j<n;j++)
				if (i!=j)
					map[i][j]=map[j][i]=caldistance(location[i],location[j]);
		for (r=0;r<n;r++){
			memset(visited,false,sizeof(visited));
			memset(dir,0,sizeof(dir));

			path=0;
			visited[r]=true;
			for (i=0;i<n;i++)
				dir[i]=map[r][i];
			int tmp;
			for (j=0;j<n-2;j++){
				low=MAX;
				for (i=0;i<n;i++)
					if (!visited[i]&&dir[i]<low){
						tmp=i;
						low=dir[i];
					}
				visited[tmp]=true;
				path+=dir[tmp];
				for (i=0;i<n;i++)
					if (!visited[i]&&map[i][tmp]<dir[i])
						dir[i]=map[i][tmp];
			}
			if (path<min)
				min=path;
		}
		printf("%.2lf\n",min);
	}
	return 0;
}


智能体式AI漫游指南中文版 智能体式AI漫游指南中文版、智能体式AI指南英文原版 立即下载

相关推荐

国央企如何利用AI工具提升科技创新项目管理与成果转化能力?.docx

国央企如何利用AI工具提升科技创新项目管理与成果转化能力?

Arbitrage hdu1217 Floyd算法

http://acm.hdu.edu.cn/showproblem.php?pid=1217 题意:给几个国家,然后给这些国家之间的汇率。判断能否通过这些汇率差进行套利交易。 Floyd的算法可以求出任意两点间的最短路径,最后比较本国与本国的汇率差,如果大于1,则可以。否则不可以。 最短路径,Floyd的算法原理: Floyd-Warshall算法的原理是动态规划。 设D(i,j,k)为

operator456的专栏 1986

融合高斯扰动与竞争学习的改进型多目标部落竞争与成员合作算法(IMOCTCM)求解DTLZ1-DTLZ7及-盘式制动器设计研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并非聚焦于该主题,而是一份涵盖多个科研领域的Matlab/Simulink仿真资源汇总清单。文档列举了包括多目标优化算法(如IMOCTCM、MOWAA)、电力电子变换器控制(如LLC谐振变换器、DAB变换器)、电机控制(如PMSM无感控制)、状态估计(如卡尔曼滤波)、微电网调度、无人机路径规划、图像处理、信号处理等多个方向的仿真研究课题,涉及Matlab、Python、Simulink、PSCAD等多种工具和编程语言。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,表明其核心用途是推广和分享一系列科研仿真资料,服务于学术交流与资源共享。; 适合人群:适用于电气工程、自动化、控制科学与工程、电力系统、电子信息、机械电子、计算机科学等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①为科研工作者提供丰富的Matlab/Simulink仿真案例参考和技术实现思路;②辅助高校师生完成课程设计、毕业设计或学术论文复现工作;③通过获取开源共享资源加速个人或团队的项目开发与算法验证进程。; 阅读建议:该文档属于资源目录性质,缺乏连贯的技术论述与逻辑结构,建议使用者根据自身研究方向筛选相关条目,结合提供的代码和模型进行学习与实践,并注意核实所下载资源的有效性、完整性以及代码运行环境的兼容性。

还是畅通工程 hdu1233 Prim

http://acm.hdu.edu.cn/showproblem.php?pid=1233 很久不写代码。敲一道最小生成树。赤裸裸的最小生成树。 #include using namespace std; #define N 105 #define MAX 0x7ffffff int map[N][N],dir[N]; bool visited[N]; int main(){ #ifn

operator456的专栏 675

储能双向Buck-Boost+模型预测电流控制+电压下垂控制仿真【附参考文献】(Simulink仿真实现)

内容概要:本文档详细介绍了一套针对储能双向Buck-Boost变换器的Simulink仿真资源,融合模型预测电流控制与电压下垂控制策略,适用于微电网及分布式能源系统中的能量管理与稳定控制。仿真模型全面呈现了双向Buck-Boost电路在储能系统充放电过程中的动态行为,重点引入模型预测控制(MPC)与下垂控制相结合的先进控制算法,有效提升了系统的响应速度、稳定性与鲁棒性。文档不仅提供了完整的仿真模型结构与参数设置,还附有详实的参考文献,便于使用者深入理解控制原理并开展理论延伸研究,是电力电子、新能源系统等领域科研与教学的重要实践资料。; 适合人群:电气工程、自动化、新能源等相关专业的硕士博士研究生、科研人员以及从事电力电子变换器与微电网系统设计的工程师。; 使用场景及目标:①用于微电网中储能系统的建模与协调控制策略研究;②开展模型预测控制(MPC)与电压下垂控制在直流变换器中的联合应用仿真分析;③支撑高校电力电子课程实验、毕业设计及科研项目开发,深化对双向DC-DC变换器非线性特性和先进控制算法实现机制的理解。; 阅读建议:建议结合Simulink仿真模型与配套文档同步学习,重点关注控制器的设计逻辑、参数整定方法及系统动态响应特性,推荐对比传统PI控制与先进控制策略的仿真结果,以深入掌握不同控制方案的性能差异与优化路径。

手把手教你自制Type-C OTG转换器(附电路图及避坑指南)

本文详细指导如何自制Type-C OTG转换器,包括核心电路设计、元器件选型及焊接技巧,特别强调硬件检测电路的关键作用。通过实测数据和避坑指南,帮助开发者解决兼容性问题,实现高效数据传输。

weixin_27038245的博客 714

How Many Tables hdu1213 并查集

http://acm.hdu.edu.cn/showproblem.php?pid=1213 。。。好久没写代码了。= =。 非常简单的并查集。 #include using namespace std; #define N 1003 int people[N]; int findfather(int n){ if (n!=people[n]) people[n]=findfathe

operator456的专栏 659

保姆级图解:FD-SOI工艺流程中的关键三步(外延生长、应变硅、HKMG)

本文详细解析了FD-SOI工艺流程中的三大关键技术:外延生长、应变硅工程和HKMG集成。通过选择性外延生长技术优化接触电阻,利用应变硅提升载流子迁移率,并结合先栅高k金属栅工艺实现精准栅极控制,FD-SOI技术在智能手机处理器和自动驾驶芯片制造中展现出卓越的低功耗与高性能平衡。

weixin_29267307的博客 491

More is better hdu1856 并查集

http://acm.hdu.edu.cn/showproblem.php?pid=1856 题意:老师想从10000000里面找尽可能多的学生帮他做项目,条件是这些人必须都认识。给n个关系,求最多有多少个人能帮助老师做项目。 因为数据量较大,如果不进行数据压缩的话就过不去。 #include using namespace std; #define N 10000005 int boy[

operator456的专栏 638

保姆级教程:从Salmon输出到DESeq2,搞定RNA-seq表达矩阵标准化与下游分析准备

本文提供从Salmon输出到DESeq2标准化的RNA-seq数据分析全流程指南,详细解析表达矩阵构建、标准化方法选择及下游分析准备。重点介绍如何将Salmon定量结果转换为DESeq2兼容格式,包括TPM与原始计数的处理技巧,以及常见问题排查方法,帮助研究人员高效完成RNA-seq数据分析。

weixin_42699679的博客 304

Java Web 图书管理系统的制作指南

实现对图书信息的增删改查(CRUD)操作。支持用户登录与权限管理。图书借阅与归还功能。系统管理员可以管理用户信息和图书库存。

Xiaoxin的博客 1629

Jungle Roads hdu1301 Prim

http://acm.hdu.edu.cn/showproblem.php?pid=1301 就是一个最小生成树啦。 目测建立一个map,比建立一个road集合略容易,所以选择了Prim。还是比较基础的。 #include using namespace std; #define NROADS 78 #define INF 999 int map[NROADS][NROADS],dir[N

operator456的专栏 589

手把手教你接入京东购物小程序:从领券到下单的全流程解析

本文详细解析了如何从API申请到领券下单,手把手教你接入京东购物小程序的全流程。涵盖京东联盟账号注册、商品信息获取、优惠券链接转换等关键技术实践,帮助开发者高效实现电商功能集成,提升用户购物体验。

g5h6i的博客 911

Dark roads hdu2988 Kruskal

http://acm.hdu.edu.cn/showproblem.php?pid=2988 最小生成树啦。赤裸裸的Kruskal算法。这个题不能用Prim,因为没办法把二维数组开那么大哦。 嘿嘿~~ 还是比较简单的。 #include #include using namespace std; #define N 200005 int junctions[N]; struct r

operator456的专栏 587

【QNX Hypervisor 2.2 用户手册】2.6 处理qvm终止

你可以注册通知,以在qvm进程实例退出时得到通知。这样你就可以采取相应的措施来响应这种终止事件。

从0到1,突破自己 1106

裸眼3D技术发展与应用前景

这项技术利用传感器或摄像头实时监测观众的位置和视角,然后根据观众的位置信息动态调整投射的图像,确保不同位置的观众都能看到一致的3D效果。这种技术不仅可以在电影院和家庭影院中应用,还可以用于虚拟现实设备和大型展览等领域。裸眼3D呈现是一种不需要佩戴任何特殊设备(如3D眼镜或头盔)即可观看到3D效果的技术。这种技术近年来得到了快速发展,为观众带来了更加沉浸式的视觉体验。总之,裸眼3D呈现技术的发展为观众带来了更加真实、沉浸式的视觉体验。随着技术的不断进步和创新,相信未来裸眼3D将会在更多领域得到应用和推广。

学无止境 2000

find the safest road hdu1596 最短路

http://acm.hdu.edu.cn/showproblem.php?pid=1596 。。就是简单的最短路。不过把最短路径的求法变了一下而已。 自己的代码。发现它跑了1500+MS,发现此题把时间放开了哦。 #include using namespace std; #define N 1005 double map[N][N],prob[N]; bool visited[N];

operator456的专栏 559

轻量化部署实战:C#上位机集成AI模型的3种方案深度对比(ML.NET/ONNX/TensorFlow.NET)

C#上位机部署AI模型,核心不是“选最强大的方案”,而是“选最适配的方案”——工控机的低配置、高稳定性需求,决定了“轻量化”和“部署简单”是选型的首要原则。回顾3种方案:ML.NET:原生、轻量化、零依赖,适合传统ML场景,低配置工控机首选;ONNX Runtime:通用、平衡、易落地,适合深度学习场景,工业落地首选;TensorFlow.NET:强大、灵活、纯C#,适合复杂模型,高配置工控机首选。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 364

我想去旅行 bjfu 1126 并查集

描述 五一快到咯,大家都在计划着去哪里玩。EE呢,也在计划着出去玩,听说欧洲很浪漫,他就想趁这几天去欧洲几个国家玩玩。但是呢,有一个问题就是,他不知道他的钱在他想去的几个国家是否可以用。请你帮他判定一下他是否决定要不要去这几个国家旅游(假设两个国家的货币可以相互兑换,则表示他的钱可以在这两个国家使用) 输入 输入包括多组数据,每组数据第一行是两个数N,M(代表他一共想去N个国家,其中有M种兑

operator456的专栏 549

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

变形课 hdu1181 图论

http://acm.hdu.edu.cn/showproblem.php?pid=1181 我用在前辈空间上看的的方法,更新情况分三种。 i->a->b->j => i->j; i->a->b => i->b; a->b->j => a->j; 这样比较简单的写了出来。 #include #include using namespace std; #define N 27 #

operator456的专栏 517

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

小希的迷宫 hdu1272 并查集

http://acm.hdu.edu.cn/showproblem.php?pid=1272 稍稍变异的并查集。 题意:给出几个等价关系,判断通过这些等价关系所有点是否都连通,并且每两个点之间只有一条路可走。若符合这两个条件,输出“Yes”,否则输出"No"。 #include using namespace std; #define N 100005 int room[N]; bool

operator456的专栏 497

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

A strange lift hdu1548 Dijkstra算法

http://acm.hdu.edu.cn/showproblem.php?pid=1548 Dijkstra算法:单源最短路径问题 ——包括确定起点的最短路径问题,确定终点的最短路径问题(与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。) 确定起点终点的最短路径问题 ——即已

operator456的专栏 487

Constructing Roads hdu1102 kruskal

http://acm.hdu.edu.cn/showproblem.php?pid=1102 最小生成树,用kruskal算法(克鲁斯克尔算法)。 步骤: 1.新建图G,G中拥有原图中相同的节点,但没有边 2.将原图中所有的边按权值从小到大排序 3.从权值最小的边开始,如果这条边连接的两个节点于图G中不在同一个连通分量中,则添加这条边到图G中 4.重复3,直至图G中所有的节点都在同一个

operator456的专栏 475

畅通工程 hdu1232 并查集

http://acm.hdu.edu.cn/showproblem.php?pid=1232 题意:给N个城市,然后M条城市之间的道路,问至少再修多少条道路能让所有城市都连通。 赤裸裸的并查集~、 并查集三步策略:初始化、寻找父节点、合并。 #include using namespace std; #define N 1005 int town[N]; int findfathe

operator456的专栏 469

Choose the best route hdu2680 Dijkstra

http://acm.hdu.edu.cn/showproblem.php?pid=2680 这个题,好艰辛。咳咳。 是一道多个起点,一个终点的最短路问题。 最初用Floyd交了回,超时了。1000的立方过亿了,用Floyd就会超时。 后来又笨笨的写了笨笨的dijkstra, 还是超时了。 后来又改进了dijkstra。出现了WA。原因 是这个题他居然是个有向图啊。~~ 后来改成有向图,

operator456的专栏 408
上一篇: 数兔子 bjfu 1144 动态规划
下一篇: 奶奶的红包 bjfu 1124 递归
花酱_
博客等级 码龄14年 30粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值