poj 2349

【代码超详解】POJ 2349 Arctic Network(Kruskal 算法) 一、题目描述 阅读详情

题意这样:就是有几个离的远的炮楼要通信,你可以想象他们在一片空海上,然后几个炮楼得通信啊,那有2种方法,一种是通过一个卫星,这个卫星能保证且只能保证两个炮楼间通信。另一种是炮楼里的每个人都有一个对讲机,他们可以通过这个东西与别的人通信,但对讲机功率有限,只能和一定功率能覆盖的范围内的炮楼里头的人说话。这个通信可以直接通,也可以通过中间的人转接你要通话的目标对象。所以设计算法求出来功率最小是多少就能保证这一圈炮楼里头所有人都可以CALL到对方。其中s代表卫星数,p代表炮楼数,然后输入这些炮楼的坐标。你去算功率最小是多少吧。

package com.liang.poj;

import java.util.Scanner;

public class Test2349Prim {
	static int num = 0;
	static int s = 0;
	static int p = 0;
	static int[][] coordinate = null;
	static double[][] brimCollection = null;
	static boolean[] visited = null;
	static double[] result = null;
	static boolean b = true;

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		num = scan.nextInt();
		while (num > 0) {
			s = scan.nextInt();
			p = scan.nextInt();

			brimCollection = new double[p][p];
			visited = new boolean[p];
			coordinate = new int[p][2];
			result = new double[p];

			for (int i = 0; i < coordinate.length; i++) { // 初始化coordinate,接收输入的每个城市的坐标
				coordinate[i][0] = scan.nextInt();
				coordinate[i][1] = scan.nextInt();
			}

			for (int i = 0; i < coordinate.length; i++) { // 初始化brimColeciont,将每个城市之间的距离转化为矩阵图
				for (int j = 0; j < coordinate.length; j++) {
					if (i != j) {
						int x = coordinate[i][0] - coordinate[j][0];
						int y = coordinate[i][1] - coordinate[j][1];
						brimCollection[i][j] = Math.sqrt(x * x + y * y);
						if (b) {
							result[j] = brimCollection[i][j];
						}
					}
				}
				b = false;
			}
			
			visited[0] = true;
			prim(p - 1);
			b = true;
			num--;

		}

	}

	public static void prim(int count) {
		while (count >= 1) {
			int lie = min();
			count--;
			for (int i = 1; i < result.length; i++) {
				if (!visited[i] && result[i] > brimCollection[lie][i]) {
					result[i] = brimCollection[lie][i];
					
				}
			}
		}

		double d = result[s + 1];
		int dmin = (int) Math.round(d * 100);
		System.out.println((double) dmin / 100);

	}

	public static int min() {
		double min = 0;
		int lie = 0;
		for (int i = 1; i < result[i]; i++) {
			if (!visited[i] && result[i] != 0) {
				min = result[i];
				lie = i;
				break;
			}
		}

		for (int i = 1; i < result.length; i++) {
			if (!visited[i] && result[i] != 0) {
				if (min > result[i]) {
					min = result[i];
					lie = i;
				}
			}
		}

		if (lie != 0) {
			visited[lie] = true;
		}

		return lie;
	}

}

手把手教你用运放和基准源,把±10V信号变成ADC能吃的0-4V(附完整计算过程) 本文详细介绍了如何利用OP07运放和REF5040基准源设计工业级信号调理电路,将±10V传感器信号转换为0-4V ADC可接受范围。通过七步流程,包括需求分析、元器件选型、电路设计、理论计算、PCB布局、实测验证与性能优化,帮助工程师解决信号不匹配问题,提升系统精度与稳定性。 阅读详情

相关推荐

傻瓜式下载、安装CentOS7操作步骤

CentOS7.9下载和安装操作步骤

weixin_45608163的博客 1万+

通信原理公式总结

通信原理公式总结 第一章通信与通信系统的基本概念 通信系统的模型 各部分的作用如下: 信源:把消息转换成原始的电信号,完成非电/电的转换。 信宿:把复原的电信号转换成相应的消息。 信源编码:进行模/数转换。信源解码:信源编码的逆过程 信道编码:将数字信号变成合适于信道传输的码型。 信道解码:信道编码的反变换。 调制:把各种数字基带信号转换成适应于信道传输的数字 频带信号。 解调:调制的逆变换。 信道:信号传输的通道(媒质)。 信息量度 H=−∑i=1MP(xi)lbP(xi) H=-\sum\limi

free的博客 2万+

西门子V90 PN伺服控制核心:FB284功能块详解与实战

在工业自动化中,伺服定位控制是运动控制的基础环节,其本质是PLC通过PROFINET协议与伺服驱动器实现高速、确定性数据交互。FB284作为西门子为V90 PN定制的标准化功能块,封装了GSD映射、状态机管理与周期性PDO同步机制,将底层寄存器操作抽象为高可靠调用接口。相比MOVE指令或MC_MoveAbsolute等通用方案,FB284显著降低时序错乱风险,提升多轴同步精度与故障响应能力。它广泛应用于包装、灌装、装配等中端产线,尤其适配S7-1200/1500平台下的快速部署与现场维护。本文聚焦V90 P

weixin_42696271的博客 300

POJ 2349 Arctic Network

POJ 2349 Arctic Network Description The Department of National Defence (DND) wishes to connect several northern outposts by a wireless network. Two different communication technologies are to be used ...

旺崽的博客 3093

Unity轻量级框架QFramework:四层架构与命令事件驱动的实战指南

在Unity游戏开发中,软件架构是确保项目可维护性和可扩展性的核心。通过分层架构(如MVC、DDD)和事件驱动设计,开发者能够有效管理代码复杂度,实现模块间的解耦与高效通信。QFramework作为一个轻量级框架,精准地运用了这些原理,通过严格定义的四层架构(表现层、系统层、数据层、工具层)和命令/事件通信规则,为中小型项目提供了“约束下的自由”。其核心价值在于以极简的代码(不足1000行)强制实施清晰的职责分离,如使用命令模式集中管理状态变更,并通过事件驱动实现响应式更新。这种设计特别适用于解决项目规模扩

weixin_42521032的博客 262

从零开始用飞牛fnas搭建集成DeepSeek-R1的远程AI工作台

从零开始用飞牛fnas搭建集成DeepSeek-R1的远程AI工作台

AI+全栈,AI+应用,实操落地,前沿技术 3809

[POJ 2349] Arctic Network

[题目链接] http://poj.org/problem?id=2349 [算法] 首先,我们发现答案是具有单调性的,所以我们可以二分答案 检验时,我们将所有距离小于二分值的点连边,然后判断联通块数量是否小于等于S即可 [代码] #include <algorithm> #inc...

182

Arm A-profile架构RAS系统设计:可靠性、可用性与可服务性解析

在计算机体系结构中,可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability)是构建高可信系统的核心要素。RAS系统通过硬件错误检测、隔离和恢复机制,确保系统持续稳定运行。其技术原理包括ECC内存纠错、冗余执行单元和错误传播阻断等关键技术,可显著降低数据中心等关键业务场景的故障率。现代芯片设计中,Arm A-profile架构提供标准化的RAS框架,涵盖从内存子系统到计算单元的全方位错误管理。通过分层防御策略和统一错误记录格式,实现硬件错误可追溯、可修复。

weixin_30920853的博客 358

POJ-2349题解

POJ-2349 题目描述The Department of National Defence (DND) wishes to connect several northern outposts by a wireless network. Two different communication technologies ar...

cpongo11的博客 518

YOLOv5实战:无人机巡检图片差异对比与违建标记(附完整代码)

本文详细介绍了如何利用YOLOv5目标检测技术实现无人机巡检图片差异对比与违建标记。通过图像对齐、目标检测、差异分析和可视化标记四个步骤,构建高效的违建识别系统,显著提升城市管理效率。文章包含完整代码实现和性能优化技巧,为计算机视觉在无人机巡检中的应用提供实用指南。

weixin_42535720的博客 282

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略

摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。

一键难忘的博客 1696

【POJ 2349 最小生成树】

http://poj.org/problem?id=2349

lavendermaple的专栏 705

osgPython

osgPython是一组 Python 模块,为 OpenSceneGraph 的 C++ 库提供了完整的 Python 接口。这意味着你可以在 Python 中调用几乎所有的 OSG 功能,从创建简单的场景到复杂的渲染效果。核心优势开发速度快:Python 语法简洁,无需编译,快速迭代易于学习:比 C++ 更易上手,适合原型开发和教学生态丰富:可以结合 NumPy、Matplotlib 等科学计算库跨平台:与 OSG 一样支持 Windows、Linux、macOS性能考虑。

深之JohnChen的专栏 459

POJ_2349_建图+kruskal

POJ 2349 题意:一个卫星频道等同于2个点之间可以任意通信, 处理点之后,建图,跑kruskal,然后将最短路的最大边都用卫星频道替代, 所以最大的D是最小生成树里面除掉卫星通信边之后的最大边 #include <iostream> #include <string.h> #include <math.h> #include <algorithm...

_llc的博客 203

Devexpress16.2.6破解工具

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

poj 2349 Arctic Network 并查集 连通分支数,二分答案

题目地址:poj2349 题目思路:s

Jingqi@Mr.B的ACM博客 717

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

POJ 2349 Arctic Network (最小生成树)

POJ 2349 Arctic Network (最小生成树)

一枚空指针的博客 383

STM32F407中文手册

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

POJ 2349 (Prim算法模板)

1.模板代码 #include #include using namespace std; const int SIZE=101; const int INF=0x7fffffff; int a[SIZE][SIZE]; int n, m; void init() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++)

记录走过的风风雨雨 749

poj2349 Arctic Network 最小生成树

poj2349 表示刚开始读题就读了n久没有读明白。。。明白了题意以后这题真真是个套模板的题 题意:哨站有两种通信方式:通过卫星和通过建立无线网络,通过卫星可以任意通信, 通过无线网络那么距离不能超过D,求这个最小距离D。 思路:s代表了可以扔掉s-1条边,p表示点 我采用了kruskal算法,在建立好的最小生成树中去掉s-1条边,那么返回上一个的权值w即可。 #include #in

竹丙丙丙丙 404

(最小生成树)POJ2349Arctic Network

POJ2349Arctic Network 题意&思路: 给你p个点和s-1条免费边,问使两两点连通的最小的最长边。 求第p-s条最长边,kruskal。用%lf记得交c++。 代码: #include<iostream> #include<stdio.h> #include<stdlib.h> #include<algorithm> #in...

Z7784562的博客 293

【POJ】[2349]Arctic Network

理解题意之后也并不算太难 大意是给了一些坐标来求最小生成树 然而让输出的是最大边的值,而因为还有卫星可供通讯 所以只需要当有P个点S个卫星时 共P-1条边里舍去S-1条大的边所以这里我感觉用Kruskal更好一些 而且当取了 P-1-(S-1)==P-S条边时,这一条边便是所要求边 不需要进行后续操作了

BoilTask Talk Show 532

【POJ 2349 --- Arctic Network】prim || kruskal

【POJ 2349 --- Arctic Network】prim || kruskal 题目来源:点击进入【POJ 2349 — Arctic Network】 Description The Department of National Defence (DND) wishes to connect several northern outposts by a wireless network...

来日浅谈的博客 544

最小生成树 poj2349

题目来源http://poj.org/problem?id=2349 我不得不说我要凌乱啦! 我从一开始都是对大致题意明白但是对一些小细节很不明白,包括现在!那个P给的是卫星频道数,但是为什么要求的是第p个长的边而不是第P+1个边,能过完全是靠给的测试实例然后猜的,真是越来越乱啦! 看题就知道这道题可以用的是最小生成数,因为点比较密集,所以采用的是Prime算法! AC的算法: #inc

生活总是要微笑着面对~ 2107

POJ2349 Arctic Network

题目:http://poj.org/problem?id=2349 分析:二分+并查集 代码:#include <cstdio> #include <algorithm> #include <cmath> #include <cstring> using namespace std; const int Tmax=505; const double Q=0.0001; struct edge{

OI -> ACM -> AI 344

poj 2349 Arctic Network MST/二分答案

poj 2349 Arctic Network 题目传送 Sol: 方法一: 贪心的想,发现n个点只需要n-1条边即可,求MST即可,再把MST中最大的m-1条边去掉,第m大就是答案。 code: #include<string> #include<cmath> #include<cstdio> #include<cstring> #inc...

weixin_30448685的博客 153
上一篇: Kruskal 最小生成树(输出最小生成树的路径,权值的和) 参考poj 1258
下一篇: 真正的Kruskal poj 1258(应用了并查集)
三易的博客
博客等级 码龄15年 42粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值