hdu3665-Seaside(SPFA,dijkstra,floyd)

fibplus-8.0.0.zip FIBPlus 是一套面向 Delphi / C++Builder 的 Firebird、InterBase 数据库访问组件,特点是直接走原生客户端 API,不经 BDE/ODBC,速度快且可控性强。8.0.0 版本主要适配 Delphi 2009 及以后的版本(Delphi 6–2007 需用 7.9.x),核心组件包括 TpFIBDatabase、TpFIBTransaction、TpFIBDataSet 等,支持精细事务管理、本地缓存、BLOB 处理和备份恢复等数据库服务。该库原为 Devrace 的商业组件,现由社区在 GitHub 的 madorin/fibplus 项目开源维护,建议从官方仓库获取源码而非第三方网盘压缩包。安装时解压后用对应版本的工程组(10.4+ 统一为 `FIB.groupproj`)Build 全部包,再 Install `dclFIB` 并在 Library 路径加入 Source 目录即可。新项目中若需官方技术支持,也可考虑 FireDAC、IBDAC 等更现代的替代方案。 立即下载

Seaside

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1369    Accepted Submission(s): 984


Problem Description
XiaoY is living in a big city, there are N towns in it and some towns near the sea. All these towns are numbered from 0 to N-1 and XiaoY lives in the town numbered ’0’. There are some directed roads connecting them. It is guaranteed that you can reach any town from the town numbered ’0’, but not all towns connect to each other by roads directly, and there is no ring in this city. One day, XiaoY want to go to the seaside, he asks you to help him find out the shortest way.
 

Input
There are several test cases. In each cases the first line contains an integer N (0<=N<=10), indicating the number of the towns. Then followed N blocks of data, in block-i there are two integers, Mi (0<=Mi<=N-1) and Pi, then Mi lines followed. Mi means there are Mi roads beginning with the i-th town. Pi indicates whether the i-th town is near to the sea, Pi=0 means No, Pi=1 means Yes. In next Mi lines, each line contains two integers SMi and LMi, which means that the distance between the i-th town and the SMi town is LMi.
 

Output
Each case takes one line, print the shortest length that XiaoY reach seaside.
 

Sample Input
5 1 0 1 1 2 0 2 3 3 1 1 1 4 100 0 1 0 1
 

Sample Output
2
 



最短路径,话不多说,SPFA,dijkstra,floyd各贡献一枚!


dijkstra:


#include<cstdio>
#include<cstring>
#include<algorithm>
#define INF 0x3f3f3f3f
using namespace std;
int map[15][15],dis[1000],vis[1000],target[15];
int N;
void dijkstra()
{
	memset(dis,INF,sizeof(dis));
	int i,j;
	for(i=0;i<N;i++)
	{
		dis[i]=map[0][i];
		vis[i]=0;
	}
	dis[0]=0;
	vis[0]=1;
	for(i=0;i<N;i++)
	{
		int mi=INF,mark=-1;
		for(j=0;j<N;j++)
		{
			if(!vis[j]&&dis[j]<mi)
			{
				mi=dis[j];
				mark=j;
			}
		}
		if(mark==-1)
		break;
		vis[mark]=1;
		for(j=0;j<N;j++)
		{
			if(!vis[j]&&dis[j]>dis[mark]+map[mark][j])
			dis[j]=dis[mark]+map[mark][j];
		}
	}
}
int main()
{
	int n,a,b,d,i,j,m;
	while(scanf("%d",&N)!=EOF)
	{
		int t=0;
		memset(map,INF,sizeof(map));
		for(i=0;i<N;i++)
		{
			scanf("%d%d",&m,&n);
			if(n)
			target[t++]=i;
			for(j=0;j<m;j++)
			{
				scanf("%d%d",&a,&b);
				map[i][a]=map[a][i]=b;
			}
		}
		dijkstra();
		int s[15];
		for(i=0;i<t;i++)
			s[i]=dis[target[i]];
		sort(s,s+t);
		printf("%d\n",s[0]);
	}
	return 0;
}


floyd:


#include<cstdio>
#include<cstring>
#define INF 0x3f3f3f3f
using namespace std;
int target[1000],map[15][15];
int N;
void floyd()
{
	int i,k,j;
	for(k=0;k<N;k++)
	{
		for(i=0;i<N;i++)
		{
			if(map[k][i]==INF)
			continue;
			for(j=0;j<N;j++)
			{
				if(map[i][j]>map[i][k]+map[k][j])
				map[i][j]=map[i][k]+map[k][j];
			}
		}
	}
}
int main()
{
	int n,i,j,a,d,m;
	while(scanf("%d",&N)!=EOF)
	{
		int t=0;
		memset(map,INF,sizeof(map));
		for(i=0;i<N;i++)
		{
			scanf("%d%d",&m,&n);
			if(n)
			target[t++]=i;
			for(j=0;j<m;j++)
			{
				scanf("%d%d",&a,&d);
				map[i][a]=map[a][i]=d;
			}
		}
		floyd();
		int q=INF;
		for(i=0;i<t;i++)
			q=q>map[0][target[i]]?map[0][target[i]]:q;
		printf("%d\n",q);		
	}
	return 0;
 } 


SPFA:


#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define INF 0x3f3f3f3f
using namespace std;
int head[20],target[15],vis[20],dis[20];
int N,t,w;
struct node 
{
	int from,to,weight,next;
}s[1000];
void spfa()
{
	memset(vis,0,sizeof(vis));
	memset(dis,INF,sizeof(dis));
	queue<int> q;
	q.push(0);
	vis[0]=1;
	dis[0]=0;
	while(!q.empty())
	{
		int u=q.front();
		q.pop();
		vis[u]=0;
		dis[0]=0;
		for(int k=head[u];k!=-1;k=s[k].next)
		{
			int v=s[k].to;
			if(dis[v]>dis[u]+s[k].weight)
			{
				dis[v]=dis[u]+s[k].weight;
				if(!vis[v])
				{
					q.push(v);
					vis[v]=1;
				 } 
			}
		}
		
	}
	int qw[1000];
	for(int i=0;i<t;i++)
	qw[i]=dis[target[i]];
	sort(qw,qw+t);
	printf("%d\n",qw[0]);
}
int main()
{
	int n,a,b,d,i,j,m;
	while(scanf("%d",&N)!=EOF)
	{
		 t=0,w=0;
		memset(head,-1,sizeof(head));
		for(i=0;i<N;i++)
		{
			scanf("%d%d",&m,&n);
			if(n)
			target[t++]=i;
			for(j=0;j<m;j++)
			{
				scanf("%d%d",&a,&b);
				s[w].from=i;
				s[w].to=a;
				s[w].weight=b;
				s[w].next=head[i];
				head[i]=w++;
				s[w].from=a;
				s[w].to=i;
				s[w].weight=b;
				s[w].next=head[a];
				head[a]=w++;
			}
		}
		spfa();
	}
	return 0;
}

三种方法,各有利弊,但是floyd无疑是最简单的,三重for循环就行了,不过时间复杂度挺高的,容易超时,但这个题,0ms没问题!

有什么问题希望大家指出!谢谢!

基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码 基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码.是标准Maven项目,只依赖springboot,没有hibernate,struts,ibatis,数据库调优可以使用druid输出慢sql,比分析xml中的语句更直观,springrain所有的sql语句都使用Finder封装管理,只要查看Finder的引用即可. 立即下载

相关推荐

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了一种基于Simulink的双闭环PWM整流器采用虚拟同步发电机控制(VOC)策略与空间矢量脉宽调制(SVPWM)技术的仿真模型。该模型在dq同步旋转坐标系下构建电压定向控制系统,实现了电压外环与电流内环的双闭环控制结构,重点阐述了VOC控制原理、SVPWM调制算法的实现方法及其在Simulink环境中的模块化搭建过程。通过该仿真平台,能够有效实现单位功率因数运行、直流母线电压稳定控制以及优异的动态响应性能,适用于电力电子变换器、新能源并网系统及电机驱动等领域的控制策略验证与性能评估。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的高年级本科生、研究生,以及从事电力电子系统仿真、新能源并网控制研究的科研人员和技术工程师。; 使用场景及目标:①深入理解三相PWM整流器在dq坐标系下的数学建模与控制机理;②掌握VOC控制策略的核心思想及其相较于传统矢量控制的优势;③学习SVPWM调制技术的实现流程与Simulink建模技巧;④通过仿真实验验证双闭环控制系统的静态精度与动态稳定性,提升对先进电力电子控制系统的分析与设计能力。; 阅读建议:建议结合电力电子技术、现代控制理论和电机控制相关基础知识进行学习,按照仿真模型的结构逐步分析各功能模块的信号流向与参数配置,重点关注锁相环(PLL)、坐标变换、PI控制器设计及SVPWM模块的实现细节,并可通过调整控制参数观察系统响应变化,以深化对控制策略动态特性的理解。

杭电1018-Big Number(大数)

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 31165    Accepted Submission(s): 14464 Problem Description In ma

Eric_keke的专栏 2126

从翼型到湍流:用生活化案例图解空气动力学核心概念(中英双语版)

本文通过飞机机翼、F1赛车、高尔夫球等生活化案例,图解空气动力学核心概念。深入浅出地解释了攻角如何产生升力、边界层与流动分离如何影响阻力、马赫数如何划分速度世界,以及涡流与湍流的特性与应用。文章还介绍了计算流体动力学(CFD)这一现代数字风洞工具,帮助读者直观理解这些塑造现代交通与运动设计的无形之力。

metaverse5vr的博客 475

杭电1242-Rescue(bfs+优先队列||队列)

Rescue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 21824    Accepted Submission(s): 7776 Problem Description Angel was ca

Eric_keke的专栏 1581

影刀初级考试操作题2

题型E主要考察了Excel的操作,总体上难度不大,流程也很少。有些细节地方比如是追加还是覆盖,多试几次就没问题了。

weisili2012的博客 1万+

8位可控加减法电路设计

一、设计要求   利用Logisim平台中现有运算部件构建一个8位可控加减法器,可支持八位加减法,利用已经封装全加器和逻辑门进行连接,要求实现相应的输出,判断是否溢出。 二、方案设计 实验原理: [A]补+[B]补 = [A+B]补(mod2^n+1)   公式1        [A-B]补 = [A]补+[-B]补(mod2^n+1)    公式2 FA为全加器,利用全加器实现加减法,难点在于实验减法,对输入的[Y]补各位取反加一即为[-Y]补,利用公式2,就可以将减法转化为加法再利用全加

qq_51700383的博客 1万+

杭电1097-A hard puzzle(快速幂)

A hard puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 35177    Accepted Submission(s): 12627 Problem Description lcy give

Eric_keke的专栏 1572

哨兵2植被参数反演避坑指南:SNAP中10m/20m分辨率选择与缺失波段处理

本文深入解析了使用SNAP软件进行哨兵2号植被参数反演时的关键操作与决策。核心在于理解SNAP生物物理处理器NNET10m与NNET20m的架构差异,根据是否需要反演冠层叶绿素含量(Cab)等参数,明智选择10米或20米分辨率工作流。文章详细指导了大气校正、波段重采样及处理L2A数据中B01波段“缺失”等常见问题的解决方案,为生态监测与精准农业应用提供清晰的避坑指南和完整实战流程。

wdx01234567的博客 261

杭电1000- A+B Problem

A + B Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 499575    Accepted Submission(s): 158358 Problem Description Calc

Eric_keke的专栏 1485

自动驾驶关键技术(一):时间敏感网络TSN

时间敏感网络TSN的基本概念、协议族介绍和开发流程。

3079

Win11+Ubuntu18.04+Ubuntu20.04三系统安装与卸载

以下情况均为个人情况:1.插入启动 U 盘后,登录时可以按F12(拯救者Y7000,不同电脑不同)进入BIOS,选择从启动盘启动。2.。3.5.在win基础上,安装第一个Ubuntu系统后,系统启动界面类似如下第一张图,Ubuntu不显示版本号。安装第二个Ubuntu系统后,系统启动界面如下第二张图,如果想更改启动项的名称,可自行查阅相关资料。

weixin_61686291的博客 2536

杭电-1034Candy Sharing Game(模拟)

Candy Sharing Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4434    Accepted Submission(s): 2705 Problem Description A numbe

Eric_keke的专栏 1349

【PyQt】使用PyQt6基于Scenedetect制作视频场景自动分割应用

通过详细介绍PySceneDetect的功能和应用,本文阐释了如何利用这一工具提高视频编辑的效率。我们讨论了安装方法、命令行使用示例以及如何在Python脚本中集成PySceneDetect。此外文章还涵盖了基于PyQt6的图形界面设计,通过多线程技术处理视频,保证界面的响应性,并通过实时反馈机制提升用户体验。无论是专业的视频制作团队还是个人爱好者,PySceneDetect都提供了一种可行的、效率高的场景检测工具,让视频编辑工作变得更加简单快捷。

Mr数据杨 960

杭电find the safest road(最短路径,dijkstra,floyd)

find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9502    Accepted Submission(s): 3360 Problem Description

Eric_keke的专栏 1201

哨兵1号回波数据(L0级)提取与SAR成像(全网首发)

本文先展示提取出的回波结果,然后使用RD算法进行成像,展示成像结果,最后附上哨兵1号回波提取的MATLAB代码。

3796

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

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

杭电-1229还是A+B

还是A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 18400    Accepted Submission(s): 8943 Problem Description 读入两个小于10000的正整数A和B,

Eric_keke的专栏 878

STM32F407中文手册

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

杭电-4310Hero(贪心)

Hero Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 3375    Accepted Submission(s): 1513 Problem Description When playing DotA wit

Eric_keke的专栏 838

数学建模模型总结

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

VB摄像头监控

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

杭电-2639Bone Collector II

Bone Collector II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3208    Accepted Submission(s): 1663 Problem Description The ti

Eric_keke的专栏 826

杭电-4506小明系列故事——师兄帮帮忙

小明系列故事——师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 5134    Accepted Submission(s): 1354 Problem Description   小明自从告别了ACM

Eric_keke的专栏 811

杭电1869-六度分离(最短路径,dijkstra,spfa,floyd)

六度分离 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6529    Accepted Submission(s): 2636 Problem Description 1967年,美国著名的社会

Eric_keke的专栏 777

hdu1042-N!(大数)

N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 65262    Accepted Submission(s): 18665 Problem Description Given an integer N(0 ≤ N ≤

Eric_keke的专栏 773

杭电1002-A + B Problem II(大数)

A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 269506    Accepted Submission(s): 52064 Problem Description I

Eric_keke的专栏 768

杭电-4508湫湫系列故事——减肥记I(完全背包)

湫湫系列故事——减肥记I Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 3721    Accepted Submission(s): 1874 Problem Description   对于吃货来说,过年最幸

Eric_keke的专栏 767

杭电2680-Choose the best route(最短路反向建图)

Choose the best route Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10891    Accepted Submission(s): 3529 Problem Description O

Eric_keke的专栏 734
上一篇: hdu1719-Friend(规律)
下一篇: poj2031-Building a Space Station(最小生成树,kruskal,prime)
Eric_keke
博客等级 码龄12年 37粉丝 221原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值