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

『杭电1869』六度分离 Problem Description 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学家对其兴趣浓厚,但是在30多年的时间里,它从来就没有得到过严谨的证明,只是一种带有传奇色彩的假说而已。 阅读详情

六度分离

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年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学家对其兴趣浓厚,但是在30多年的时间里,它从来就没有得到过严谨的证明,只是一种带有传奇色彩的假说而已。 

Lele对这个理论相当有兴趣,于是,他在HDU里对N个人展开了调查。他已经得到了他们之间的相识关系,现在就请你帮他验证一下“六度分离”是否成立吧。
 

Input
本题目包含多组测试,请处理到文件结束。
对于每组测试,第一行包含两个整数N,M(0<N<100,0<M<200),分别代表HDU里的人数(这些人分别编成0~N-1号),以及他们之间的关系。
接下来有M行,每行两个整数A,B(0<=A,B<N)表示HDU里编号为A和编号B的人互相认识。
除了这M组关系,其他任意两人之间均不相识。
 

Output
对于每组测试,如果数据符合“六度分离”理论就在一行里输出"Yes",否则输出"No"。
 

Sample Input
  
8 7 0 1 1 2 2 3 3 4 4 5 5 6 6 7 8 8 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 0
 

Sample Output
  
Yes Yes
 

Author
linle
 

Source



这个题大意就是很多人中,两两之间之间的关系链长度不会超过7!


理解题意后就是一个最短路径问题了!

三种方法果断送上:


dijkstra:


#include<cstdio>
#include<cstring>
#include<algorithm>
#define INF 0x3f3f3f3f
using namespace std;
int map[110][110],dis[110],vis[110];
int m,n;
void dijkstra(int x)
{
	memset(vis,0,sizeof(vis));
	int i,j;
	for(i=0;i<m;i++)
	dis[i]=map[x][i];
	
	dis[x]=0;
	vis[x]=1;
	for(i=0;i<m;i++)
	{
		int mark=-1,mi=INF;
		for(j=0;j<m;j++)
		{
			if(!vis[j]&&dis[j]<mi)
			{
				mi=dis[j];
				mark=j;
			}
		}
			if(mark==-1||mi>7)
			break;
			vis[mark]=1;
			for(j=0;j<m;j++)
			{
				if(!vis[j]&&dis[j]>dis[mark]+map[mark][j])
				dis[j]=dis[mark]+map[mark][j];
			}
		
	}
} 
int main()
{
	int i,j,a,b,flag;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		memset(map,INF,sizeof(map));
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&a,&b);
			map[a][b]=map[b][a]=1;
		}
		flag=0;
		for(i=0;i<m;i++)
		{
			dijkstra(i);
			for(j=0;j<m;j++)
			if(dis[j]>7)
			{
				flag=1;
				break;
			}
			if(flag)
			break;
		}
		if(flag)
		printf("No\n");
		else
		printf("Yes\n");
	}
}



spfa:



#include<cstdio>
#include<cstring>
#include<algorithm>
#define INF 0x3f3f3f3f
#include<queue>
using namespace std;
int head[110],dis[110],vis[110];
int m,n,t;
struct node 
{
	int u,v,w,next;
}s[300];
void spfa(int x)
{
	memset(vis,0,sizeof(vis));
	memset(dis,INF,sizeof(dis));
	dis[x]=0;
	queue<int> q;
	q.push(x);
	while(!q.empty())
	{
		int u=q.front();
		q.pop();
		vis[u]=0;
		for(int k=head[u];k!=-1;k=s[k].next)
		{
			int v=s[k].v;
			if(dis[v]>dis[u]+s[k].w)
			{
				dis[v]=dis[u]+s[k].w;
				if(!vis[v])
				{
					vis[v]=1;
					q.push(v);
				}
			}
		}
	}
} 
void addedge(int x,int y,int w)
{
	s[t].u=x;
	s[t].v=y;
	s[t].w=1;
	s[t].next=head[x];
	head[x]=t++;
}
int main()
{
	int i,j,a,b,flag;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		memset(head,-1,sizeof(head));
		t=0;
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&a,&b);
			addedge(a,b,1);//注意双向建图
			addedge(b,a,1);
		}
		flag=0;
		for(i=0;i<m;i++)
		{
			spfa(i);
			for(j=0;j<m;j++)
			if(dis[j]>7)
			{
				flag=1;
				break;
			}
			if(flag)
			break;
		}
		if(flag)
		printf("No\n");
		else
		printf("Yes\n");
	}
}



floyd:


#include<cstdio>
#include<cstring>
#include<algorithm>
#define INF 0x3f3f3f3f
using namespace std;
int map[110][110];
int m,n;
void floyd()
{
	int i,j,k;
	for(k=0;k<m;k++)
	{
		for(i=0;i<m;i++)
		{
			if(map[i][k]==INF)
			continue;//这里优化后,时间减少一半
			for(j=0;j<m;j++)
			{
				map[i][j]=min(map[i][k]+map[k][j],map[i][j]);
			}
		}
	}	
}

int main()
{
	int i,j,a,b;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		memset(map,INF,sizeof(map));
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&a,&b);
			map[a][b]=map[b][a]=1;
		}
		floyd();
		int flag=0;
		for(i=0;i<m;i++)
		{
			for(j=0;j<m;j++)
			{
				if(map[i][j]>7)
				flag=1;
			}
			if(flag)
			break;
		}
		if(flag)
		printf("No\n");
		else
		printf("Yes\n");
	}
	return 0;
}


【yolo】YOLOv8模型导出完全指南:从PT到ONNX及其他格式的完整实践 摘要:本文全面介绍了YOLOv8模型从PT格式导出为ONNX等部署格式的完整流程与最佳实践。重点解析了关键参数(如format、imgsz、simplify)的作用机制,特别强调输入尺寸imgsz会自动继承训练尺寸的特性,并提供了ONNX、TensorRT等格式的典型导出配置方案。文章还总结了常见问题解决办法,推荐使用simplify优化模型性能,同时分享了通过C#实现模型重命名的实用技巧。最后指出"训练决定能力,导出定义接口"的核心原则,帮助开发者高效完成模型部署转换。 阅读详情

相关推荐

红外气体检测方案解析:从NDIR原理到物联网终端设计实践

气体检测是工业安全与环境监测的核心需求,其技术原理主要基于气体分子对特定物理或化学信号的响应。非色散红外(NDIR)技术作为一种物理检测方法,通过测量气体分子对特定波长红外光的吸收来定量浓度,因其不依赖化学反应,具备寿命长、抗干扰强和响应快等优势。在工程实践中,红外气体检测方案的价值在于为物联网终端设备提供了高可靠、低功耗的感知能力,广泛应用于工业过程监控、环境空气质量监测以及智能家居安全预警等场景。本文以一套集成了Microchip MCU、Axetris红外光源和Pyreos热释电传感器的参考设计为例,

weixin_30954817的博客 393

六度分离

                                                         六度分离 原题链接 http://acm.hdu.edu.cn/showproblem.php?pid=1869 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中...

CambridgeICPC的博客 912

量子密钥分发系统设计与实现(一):系统基本架构讨论

本文主要对量子密钥分发系统中的基础架构和基于系统的量子密钥协商过程进行了初步讨论,为后期系列文章进行铺垫。

量子领域相关话题 3891

六度分离(Six Degrees of Separation)理论

转自社会学吧早在上个世纪60年代,美国著名社会心理学家米尔格伦(Stanley Milgram)就提出了“六级分隔”(Six Degrees of Separation)的理论,并设计了一个连锁信的实验来验证这个假设。他认为,任何两个陌生人都可以通过“朋友的朋友”建立联系,并且他们之间所间隔的人不会超过六个,无论是美国总统与威尼斯的船夫,或热带雨林中的土著与爱斯基摩人。也就是说,最多通过六个人你就

xlvector的专栏 5189

CKEditor5富文本编辑器 - 视频引入、预览及自定义toolbar

文章目录定义遇到的问题视频部分引入媒体url失败原因解决方法:自定义视频provider视频预览及页面不显示视频问题解决方案:H5 \标签如何移除toolbar中的部分插件 一个小后端很少接触前端框架,只能在知识的海洋中漂泊。。。 定义 <script src="https://cdn.ckeditor.com/ckeditor5/16.0.0/classic/ckeditor.js"&gt...

huhui806的博客 8196

similarity network fusion for aggregating data types on a genomic scale

基因组规模上的聚合数据类型的相似性网络融合 摘要:         近期的技术已经使收集不同类型的全基因组数据十分划算,结合这些数据去创建一个给定的疾病或生物过程的一个全面视图的计算方法是有必要的。相似网络融合(SNF:similarity network fusion)通过创建每一个可利用的数据类型的样本(如,患者)的网络可以解决这个问题。例如,创建一个给定一群患者疾病的全面视图,SNF计算

augustar学习笔记 7869

六度分离_hdu_1869(floyd算法).java

六度分离 Time Limit: 5000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3139Accepted Submission(s): 1221 Problem Description 1967年,美国著...

weixin_30291791的博客 297

海洋捕食者算法(MPA)详解:从海洋生态智慧到高性能优化

摘要: 海洋捕食者算法(MPA)是一种基于海洋生态觅食行为的元启发式优化算法,模拟捕食者(如鲨鱼)的布朗运动和莱维飞行策略进行全局与局部搜索。算法分为三阶段:高速比阶段(全局探索)、单位速度比阶段(平衡搜索)和低速比阶段(局部开发),通过精英矩阵和FADs效应(概率扰动)避免早熟收敛。MPA具有参数少、收敛快、寻优能力强等特点,适用于复杂优化问题,其数学模型将生物行为转化为随机游走与自适应策略,并通过收敛因子动态调整探索-开发平衡。实验表明,MPA在多个基准问题上表现优异。

qq_42212808的博客 273

hdu 1869

一个最短路径的变形,解决问题的思路也开阔灵活,其实都是万变不离其宗   六度分离Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 726    Accepted Submission(s): 275Problem De

xjbscut123456的专栏 1620

YOLOv5基于深度学习的道路缺陷检测系统

然而,由于长期的自然侵蚀、车辆磨损等因素,道路表面容易出现裂缝、坑洼等缺陷。这些缺陷不仅会影响驾驶舒适性,还可能引发交通事故,尤其是在恶劣天气或夜间行车条件下。随着人工智能技术的快速发展,基于深度学习的道路缺陷检测技术能够在降低人力成本的同时提高检测效率,为道路维护提供了新的解决方案。本项目构建了基于YOLOv5的道路缺陷检测系统,结合PyQt5开发了用户友好的UI界面,具备实时检测和图片分析功能。工具对图片进行标注,生成YOLO格式的标注文件。上传包含道路裂缝或坑洼的图片,系统会标注出缺陷的位置及类别。

YOLO 1076

SCADA|测试KingSCADA4.0信创版采集汇川PLC AC810数据

摘要:雷工分享KingSCADA4.0信创版采集汇川PLC数据的配置过程。由于项目繁忙,笔记更新延迟。信创产业要求采用国产化产品,此次通过ModbusTCP协议连接AC810 PLC。主要步骤包括:新建IOServer应用(需厂家协助从3.8升级至4.0)、安装ModbusTCP驱动、配置设备地址(192.168.1.88:5021)、运行IOServer并通过网页监控变量。尽管信创版操作体验较差,但出于国产化战略需要仍需使用。雷工表示理解产品初期不足,相信未来会逐步优化。2025年4月11日记录于四川绵阳

做有价值的事,积累有价值的笔记! 862

六度分离(hdu1869,floyd最短路)

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29015#problem/D http://acm.hdu.edu.cn/showproblem.php?pid=1869 六度分离 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja

JHC23的专栏 1026

STM32F407中文手册

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

六度分离理论、150法则与弱链接

六度分离理论 1967年,哈佛大学的心理学教授Stanley Milgram(1933-1984)想要描绘一个连结人与社区的人际连系网。做过一次连锁信实验,结果发现了“六度分隔”现象。就是“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。” 所谓“六度分隔”,用最简单的话描述就是:在人际脉络中,要结识任何一位陌生的朋友,这中...

weixin_34310785的博客 491

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

六度分离 ——最短路

六度分离 Problem Description 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论

Gyd&01 1148

- 六度分离

1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学家对其兴趣浓厚,但是在30多年的时间

Mbeautful的博客 1337

图数据挖掘--六度分隔

六度分隔(Six Degrees of Separation)现象(又称为“小世界现象”small world phenomenon),可通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。” 中文名六度分隔外文名Six Degrees of Separation 发现者Stanley Milgram发现时间1967年

HuFeiHu 2485

六度分离【Floyd】

题目描述: Description 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学...

weixin_45619734的博客 337

六度分离/HDOJ 1869

六度分离/HDOJ 1869 题目 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学...

weixin_45600829的博客 413

杭电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

杭电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

杭电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

杭电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

杭电-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

杭电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
上一篇: 南阳OJ106-背包问题(贪心算法)
下一篇: 杭电1000- A+B Problem
Eric_keke
博客等级 码龄12年 37粉丝 221原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值