解题报告-HDOJ-1162(最小生成树——Prim)

一文读懂AI大模型时代的RAG技术 RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合检索技术与生成模型的技术架构,旨在通过动态引入外部知识库增强大语言模型(LLM)的生成能力。其核心思想是通过检索系统从外部数据源(如企业知识库、实时文档等)获取相关信息,并将检索结果作为上下文输入生成模型,以提高生成答案的准确性、时效性和专业性 阅读详情
题意:
Eddy画了画像,由几个点组成,求解出能把所有点连接在一起所需要的最短线的和。
这一题所涉及的内容是最小生成树,求解最小生成树的方法可以使用普林姆和克鲁斯卡尔两种方法,
这里介绍一下普林姆算法的思想。
假设有如下图1:
点集a1 = {a,b,c,d,e},a2为空集,普林姆算法需要空集a2加入点集a1中的点,同时集合a1去
掉该点,直至a1为空集。假设我们从点a开始加入,下面用图像分步展示操作步骤:
第一步:把节点集合a1中的节点a加入a2中构成一棵树,同时去掉a1中的点a,此时a1 = {b,c,d,e},
a2 = {a}。
第二步:搜索a1中的全部节点找到a1中到a2集合中的最小距离,即找到找到a1中的所有节点到这棵生成
树的最小距离。所以找到了d点。
第三步、第四步、第五步:继续重复第二步的操作,直到所有的点都构成一棵生成树。最终第五步生成了一
棵最小生成树。

这道题目使用这种方法就可以解决了。以下就是我的C语言实现代码:
#include <stdio.h>
#include <math.h>
#include <string.h>

#define MAXN 110
double map[MAXN][MAXN];
int used[MAXN];//标记数组
struct{
	double x;
	double y;
}node[MAXN];//保存节点信息

double prim (int n)
{
	int i,j;
	int y;
	double sum = 0;
	used[0] = 1;
	while (1)
	{
		int flag = 0;
		double min = 100000000;
		for (i = 0; i < n; i++)
		{
			if(!used[i])
			{//判断是否还有点未被标记,即是否在a1数组中
				flag = 1;
				break;
			}
		}
		if (flag)
		{
			for (i = 0; i < n; i++)
			{
				if (used[i])
				{//判断该点是否在a2数组中
					for (j = 0; j < n; j++)
					{
						if (map[i][j] < min && i != j && !used[j])
						{
							min = map[i][j];
							y = j;//保存节点的位置
						}
					}
				}
			}
			used[y] = 1;
			sum += min;
		}
		else
		{
			return sum;
		}
	}
}

int main ()
{
	int n;
	int i,j;
	while (scanf("%d",&n) != EOF)
	{
		memset (used, 0, sizeof (used));
		for (i = 0; i < n; i++)
		{
			scanf ("%lf%lf",&node[i].x,&node[i].y);
		}
		for (i = 0; i < n; i++)
		{
			for (j = 0; j < n; j++)
			{
				map[i][j] = map[j][i] = sqrt ((node[i].x - node[j].x) * (node[i].x - node[j].x) + (node[i].y - node[j].y) * (node[i].y - node[j].y));
			}
		}
		printf ("%.2lf\n",prim (n));
	}
	return 0;
}

YOLO26涨点改进 | 小目标损失函数独家改进篇 | TGRS 2025 | 引入AdaFocalLoss损失函数,改进小目标检测,自适应聚焦小目标与样本分布不平衡,提升检测精度与训练稳定性 目录一、前言:YOLO26原生损失函数在小目标检测中的核心痛点(涨点瓶颈)1.1 小目标权重不足,聚焦能力薄弱1.2 样本分布不平衡适配性差,正负样本权重失衡1.3 训练不稳定,易出现梯度消失/震荡1.4 未区分小目标与背景的冗余干扰,误检率高二、TGRS 2025顶刊灵感解析:自适应聚焦损失的核心逻辑三、全网独家创新:AdaFocalLoss损失函数设计与YOLO26适配(核心重点,可复现)3.1 AdaFocalLoss函数整体设计(独家设计,清晰可复现)3.2 各核心模块详细设计(独家创新,可直接复现 阅读详情

相关推荐

深入解析YT8521S千兆以太网PHY芯片的设计与调试要点

本文深入解析了YT8521S千兆以太网PHY芯片的设计与调试要点。重点剖析了硬件设计中的电源方案、RGMII接口电平配置(尤其是1.8V电平方案)以及PCB布局布线等关键细节,并提供了从硬件检查、驱动配置到性能测试的完整调试流程,帮助工程师规避常见陷阱,实现稳定可靠的千兆网络连接。

weixin_29190573的博客 686

HDOJ水题集合1:最小生成树(Kruskal)

1001 畅通工程 HDOJ1232 并查集集合个数 畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 92906 Accepted Submission(s): 49515 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何

小哈里的博客 866

Adams与Matlab联合仿真入门:从零搭建你的第一个动力学模型

本文为Adams与Matlab联合仿真新手提供了一份详尽的入门指南。文章从软件环境配置、版本兼容性检查讲起,逐步演示了如何在Adams中构建单摆动力学模型并定义输入输出接口,以及在Matlab/Simulink中搭建控制回路。通过一个完整的受控单摆实例,手把手教你完成从模型导出、模块生成到执行联合仿真的全流程,帮助你快速搭建并运行第一个联合仿真模型,实现动力学与控制系统的协同验证。

g5h6i7j的博客 699

最小生成树 hdoj1233 nyoj38

Minimum Spanning Tree 1.Prim算法是不断增加顶点的算法 isadded[i]:表示点i是否加入 lowcost[i]:表示以i为终点的边的最小权值,当lowcost[i]=0说明以i为终点的边的最小权值=0,也就是表示i点加入了MST prim是以任意边为起始点,用一个lowcost[i]数组来维护到顶点i的最小距离,每次加入lowcost最小

sentimental_dog的博客 387

王道考研计算机网络课件全解析:从零搭建你的知识框架(附B站视频+PPT下载)

本文全面解析王道考研计算机网络课程的核心知识体系,从OSI七层模型到TCP/IP四层架构,详细讲解物理层、数据链路层、网络层、传输层和应用层的关键技术。提供高效学习路径、实战案例和常见误区警示,帮助考生系统构建计算机网络知识框架,适合计算机考研备考者参考学习。

leaf8的博客 560

深入剖析:功率放大电路设计精髓——从理论到实践

输入信号首先被调制(通常是PWM脉宽调制)成高频开关信号,驱动功率开关管(MOSFET),再通过LC低通滤波器滤除高频分量,还原出放大的音频信号。在靠近功放板电源引脚处放置足够容量的电解电容(如100uF - 1000uF)和高频瓷片电容(如0.1uF)并联进行电源去耦,抑制低频和高频干扰,防止低频振荡(Motorboating)和高频自激。,堪称电子世界里的“能量转换器”。当输入信号在零附近(即两个器件切换导通的区域)时,由于器件的开启电压(Vbe或Vgs)不为零,输出波形会出现明显的衔接不流畅的失真。

Zihan2558的博客 1692

hdoj 畅通工程(简单最小生成树问题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1863 题目为中文题目,简单易懂,从题目就可以很容易的知道是最小生成树,也可以说就是纯模板题。但还是需要了解和掌握模板。 #include #include #include using namespace std; const int MAXN=0x3f3f3f3

笨小孩的专栏 831

Spring Boot 微服务 API 网关实战:Spring Cloud Gateway 整合,搞定路由转发 + 统一认证 + 限流熔断(企业级落地)

摘要:本文详细介绍了SpringCloud Gateway在微服务架构中的核心作用与实现方案。作为API网关,它解决了服务入口分散、认证冗余、流量失控等痛点,提供路由转发、统一认证、限流熔断等能力。文章通过图书管理系统案例,演示了SpringBoot整合Gateway的全流程,包括基础路由配置、JWT全局认证、局部参数校验、Sentinel限流熔断以及Nacos动态路由等核心功能实现。特别强调了企业级落地中的关键注意事项,如路由顺序、过滤器执行顺序、HTTPS配置等。该方案能有效构建统一、安全、高效的微服务

lamehsl的专栏 1381

杭电OJ 1162(C++)

计算最小生成树的总长度,使用 Kruskal算法。 #include <iostream> #include <algorithm> #include <iomanip> using namespace std; const int MAXN = 105; int n; //点的数量 int m; //线的数量 int fa[MAXN]; //父结点数组,...

Intelligence1028的博客 263

智能车八邻域图像算法

智能车八邻域图像算法

技术缝合怪的博客 4万+

2026深度破解:OpenClaw开源AI框架架构与实战全景解析

2026年初,一款名为OpenClaw的开源AI Agent框架以惊人的速度席卷全球开发者社区,短短数周GitHub星标突破20万,成为史上增长最快的开源项目。本文从架构设计、核心原理、代码实现和工程实战四个维度,深度剖析OpenClaw的技术内核,帮助开发者从理解到实践,快速掌握这一革命性的AI开发框架。

fox0329的博客 2372

HDOJ 4463 Outlets 最小生成树

Prim....似乎没有考虑多点共线也能A..... Outlets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2565    Accepted Submission(s): 1182 Problem D

码代码的猿猿 861

Qt for WebAssembly环境搭建

一、前言 二、Ubuntu 1、在线安装Qt15 在线安装下载器:https://download.qt.io/official_releases/online_installers/ 安装时记得勾选WebAssembly,如下: 2、安装依赖 # Install Python sudo apt-get install python2.7 # Install CMake (optional, only needed for tests and building Binaryen) sudo apt

贝勒里恩的博客 3668

HDOJ 1162 Eddy's picture

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1162 源代码://HDOJ 1162 AC #include #include using namespace std; #define MAX

90worker 2008

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Prim算法求最小生成树 附hdoj1162

以下测试数据所用的图为: #include using namespace std; //Prim算法 //朴素版本 /* key[所有] = INF;done[所有] = false;par[i] = -1; 根据指定树根r,设置key[r] = 0; 执行n次 { 选择key[]最小的一个点,记录为x done[x] = true 对于所有x可达的点,更新它们key[]及pa

architect19的专栏 889

OV9734 DATASHEET,完整规格书

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

HDOJ1162(Prim 或 Kruscal)

标准最小生成树 本文提供两种做法: PrimKruscal Prim解法: #include #include using namespace std; struct tag_point{ double x,y; }point[105]; double map[105][105]; int N; bool judge[105]; double dis(int i,in

淡墨写江山 589

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

HDOJ 1162 Eddy's picture 最小生成树 Kruscal && Prim

Eddy's picture 最小生成树,模板 Kruscal 或 Prim Eddy's picture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8122 Accepted Submission(s): 4118 Problem Description Eddy begins to like paint

jianjun的专栏 442

hdu 1162 prim算法

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1162题目大意:图纸上有一些点,要用通过墨水用直线将它们连在一起,求用最少的墨水时所连的长度思路:典型的最小生成树问题,只是要调用函数自己计算这些点之间的距离#include #include #define N 105 #define Initmax 1005 double a[N][N],lowcost[N],x[N],y[N]; int s[N],n; double dist(double x

Acceptyly的专栏 586

最小生成树 Prim算法的实现及应用

关于prim算法先把有的点放于一个集合(或者数组)里,这个集合里存放的是所有走过的点。初始值为0或者false表示还没有点声明一个一维数组用于记录各点的权值[可理解为起始点到目标点的距离],声明一个二维数组用于记录某点到某一点的权值,如果这两点不可达到,则设置为无穷大 具体执行过

90worker 1万+

杭电ACM1162(prim)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1162 题目大意:在一个平面上有若干点,给出它们的横纵坐标,要求求出将这些点全部连通的距离。 解题思路:最小生成树,prim算法。不同的是输入点坐标之后要自行进行一次转化就变成了标准的最短路径问题。 AC代码:

Tworld 919

Kruskal算法求最小生成树 附hdoj1162

自己实现的kruskal算法。 其实懂了并查集,实现kurskal算法便很简单了。 按照克鲁斯卡尔算法,从最小的边开始选(所以把所有边按权值非降序排序),然后选的过程一定是从小到大地选,如果发现不适合的就抛弃,而且绝对不会回溯再次检查是否适合(不吃回头艹)。因此如何判断边适合就是算法的关键了。 这里的关键其实就是并查集,并查集是用集合的观点来看结点与结点的关系。结点作为元素,只有属于和不属于

architect19的专栏 4153

HDOJ1162Eddy's picture

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1162   #include #include bool P[110];//标记数组,标记某一个点是否已经连接到树上 struct point { double x,y; }Point[110],A[110]; double SegLen(point a,point b) { re

为编程而生 885

【hdoj 1162】Eddy's picture

【hdoj 1162】Eddy's picture 最小生成树prim算法

nininicrystal的专栏 373
上一篇: STL 优先队列、队列、栈的使用
下一篇: 最大二分匹配
WellerZhao
博客等级 码龄15年 11粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值