参观城市(dfs,改编spfa)

Problem B: 导游 Problem B: 导游 Description 宁波市的中小学生们在镇海中学参加程序设计比赛之余,热情的主办方邀请同学们参观镇海中学内的各处景点,已 知镇海中学内共有n处景点。现在有n位该校的学生志愿承担导游和讲解任务。每个学生志愿者对各个景点的熟悉程 度是不同的,如何将n位导游分配至n处景点,使得总的熟悉程度最大呢?要求每个景点处都有一个学生导游。 Input 有若干行: 第一... 阅读详情


问题 F: 参观城市

时间限制: 1 Sec   内存限制: 128 MB
提交: 34   解决: 19
[ 提交][ 状态][ 讨论版]

题目描述

有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,小明在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。

输入

第一行输入一个整数M表示测试数据共有M(1<=M<=5)组
每组测试数据的第一行输入一个正整数N(1<=N<=100000)和一个正整数S(1<=S<=100000),N表示城市的总个数,S表示参观者所在城市的编号
随后的N-1行,每行有两个正整数a,b(1<=a,b<=N),表示第a号城市和第b号城市之间有一条路连通。

输出

每组测试数据输N个正整数,其中,第i个数表示从S走到i号城市,必须要经过的上一个城市的编号。(其中i=S时,请输出-1)

样例输入

110 101 21 91 83 78 68 109 510 310 4

样例输出

8 1 10 10 9 8 3 10 1 -1


     竞赛的时候就差一点写出来!

我是想用邻接表做,我用了两种方法,一种是spfa的模板改编的,另一种是dfs



上代码!



dfs版本:



#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int per[110000],vis[110000],t,head[110000];
struct node 
{
	int u,v,next;
}s[110000];
void addedge(int x,int y)
{
	s[t].u=x;
	s[t].v=y;
	s[t].next=head[x];
	head[x]=t++;
}
void dfs(int x)
{
	for(int k=head[x];k!=-1;k=s[k].next)
	{
		int v=s[k].v;
		if(!vis[v])
		{
			per[v]=x;
			vis[v]=1;
			dfs(v);
		}
	}
}
int main()
{
	int N,a,b,i,m,n;
		scanf("%d",&N);
		while(N--)
		{
			memset(head,-1,sizeof(head));
			memset(vis,0,sizeof(vis));
			scanf("%d%d",&m,&n);
			t=0;
			for(i=0;i<n-1;i++)
			{
				scanf("%d%d",&a,&b);
				addedge(a,b);
				addedge(b,a);
			}
			vis[m]=1;
			per[m]=-1;
			dfs(m);
			for(i=1;i<m;i++)
			printf("%d ",per[i]);
			printf("%d\n",per[m]);
		}
return 0;
}


spfa改编版本:



#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
#define INF 0x3f3f3f3f
using namespace std;
int per[101000],vis[101000];
int head[101000];
int m,n;
struct node 
{
	int from,to,next;
}s[101000];
void spfa()
{
	int cn,i;
	memset(vis,0,sizeof(vis));
	queue<int> qq;
	vis[n]=1;
	cn=n;
	per[n]=-1;
	qq.push(n);
	while(!qq.empty())
	{
		int u=qq.front();
		qq.pop();
		cn=u;
		for(int k=head[u];k!=-1;k=s[k].next)
		{
			int v=s[k].to;
				if(!vis[v])
				{
					qq.push(v);
					per[v]=cn;
					vis[v]=1;
				}
		}
	}
	for(i=1;i<m;i++)
	printf("%d ",per[i]);
	printf("%d\n",per[m]);
}
int main()
{
	int i,j,k,l,t,x,y,a,b,N;
	scanf("%d",&N);
	while(N--)
	{
		scanf("%d%d",&m,&n);
		 t=0;
		 memset(head,-1,sizeof(head));
		for(i=0;i<m-1;i++)
		{
			scanf("%d%d",&a,&b);
			s[t].from=a;
			s[t].to=b;
			s[t].next=head[a];
			head[a]=t++;
			s[t].from=b;
			s[t].to=a;
			s[t].next=head[b];
			head[b]=t++;
		}
		spfa();
	}
	return 0;
}


两种方法的区别是,dfs是一搜到底,然后回溯!

而spfs版本是把和当前相连的搜索完,在进行下一个!

都很巧妙,然而vector我还不会用,下次一定补上!


NCCL使用指南-进阶篇 前文介绍了NCCL的常用环境变量,本文介绍了NCCL-test性能基准测试,以及一些大规模集群测试的经验数据。 阅读详情

相关推荐

从NVLINK到EthLink:GPU互联技术演进全解析(含最新行业趋势)

本文深入解析了从NVLINK到EthLink的GPU互联技术演进,重点剖析了Scale-up与Scale-out两种核心范式。文章详细对比了NVLINK、UALINK及革命性的EthLink技术,后者创新性地将以太网改造为支持Load/Store与RDMA双语义的高性能互联网络,旨在打破封闭生态,实现高性能与开放性的统一。最后,文章提供了技术选型指南并展望了未来以以太网为主导、语义融合的行业趋势。

weixin_29204749的博客 177

【题解】导游(宁波小学2008第3题)(关于DFS和剪枝)

  题目描述 宁波市的中小学生们在镇海中学参加程序设计比赛之余,热情的主办方邀请同学们参观镇海中学内的各处景点,已知镇海中学内共有n处景点。现在有n位该校的学生志愿承担导游和讲解任务。每个学生志愿者对各个景点的熟悉程度是不同的,如何将n位导游分配至n处景点,使得总的熟悉程度最大呢?要求每个景点处都有一个学生导游。 输入 输入文件daoyou.in中有若干行: 第一行只有一个正整数n,表示...

Fighter的博客 1960

RNA-Seq数据分析实战:从FastQC到STAR比对的完整流程(附避坑指南)

本文提供了RNA-Seq数据分析从FastQC质控到STAR比对的完整实战流程与避坑指南。详细解读了FastQC/MultiQC报告的关键指标,并重点阐述了STAR比对工具的核心参数设置、索引构建及性能优化策略,旨在帮助用户获得准确可靠的比对结果,为下游基因表达分析奠定坚实基础。

weixin_29290259的博客 92

2021级新生个人训练赛第37场

问题G得分是模拟题,不想写(没啥难度,慢慢写就行 问题 A: 奖品 题目描述 托塔李天王的三太子那吒,本领高强,他要赶在奥林匹克运动会之际,开一个头脑 奥林匹克比赛,获胜者的奖品就是经过提炼后的“氦-3”晶结体;该物质在月球上大量 存在,是一种无色、无味的氦气同位素,它在核聚变研究中有重要作用。氦-3还是一种 绝对清洁的能源,因为它本身不带放身性,因此不会产生任何放射性废料。可是如果从 月球上将该晶体运回地球呢?那吒说:用我的肚兜吧!当然他的肚兜易受太阳风等因素 的影响,载重量不能超过k(1<=k&l

qq_52273733的博客 2450

【无标题】IP804A参考资料和管脚作用图

3.3V内置led控制内置EEPROM接口,用于哑应用ip804a,可集成为4X N端口PSE稳压器内置支持外部设备。多个系统和IC总线用于从每个IP804A收集PD电源状态,以支持全局电源管理。多个ip804a可以构建一个具有成本效益的PHY级PSE系统以支持PD分类和电源管理,而无需主机。基于LLDP(IEEE标准8023AT-2009的一部分),可以实时维护PSE和PD之间的动态电源管理,以提高电源效率。IP804A是一款用于POE(以太网供电)系统的4端口PSE(电源设备)控制器IC。

2301_78055735的博客 1058

rk3588调试imx415记录

分享适配imx415的软件配置以及一些关键的调试命令

m0_60805802的博客 2888

景点中心 【蒟蒻的小题解】

Description 话说宁波市的中小学生在镇海中学参加计算机程序设计比赛,比赛之余,他们在镇海中学的各个景点参观。镇海中学共有n个景点,每个景点均有若干学生正在参观。这n个景点以自然数1至n编号,每两个景点的编号均不同。每两个景点之间有且只有一条路径。选择哪个景点集中的学生,才能使所有学生走过的路径之和最小呢? 如果存在多个解,则输出距离1最近的那个点,可以证明答案唯一 Input 输入文件center.in中有若干行: 第一行只有一个正整数n,表示景点数。 第二行有n个1至1000间的整数,这n个整数

qq_49972640的博客 1106

使用Simulink进行基于IIR滤波器的设计与稳定性分析仿真

IIR滤波器的稳定性与其系统函数的极点位置密切相关。如果所有极点都位于Z平面的单位圆内,则该滤波器是稳定的;否则,滤波器将是不稳定的。在设计IIR滤波器时,确保其稳定性对于避免输出信号发散至关重要。明确你的系统需求,比如输入信号类型(如正弦波)、采样率、IIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通IIR滤波器,用来去除高于500Hz的所有频率成分,保留低于500Hz的信号成分。采样率为8kHz。

xiaoheshang_123的博客 150

【题解】导游-C++

Description 宁波市的中小学生们在镇海中学参加程序设计比赛之余,热情的主办方邀请同学们参观镇海中学内的各处景点,已...

weixin_30294295的博客 765

Microsemi Libero系列教程(一)——Libero开发环境介绍、下载、安装与注册

前言 相比与Xilinx和Altera在国内的市场,Microsemi的FPGA在国内应用很少很少,网上几乎没有详细的教程,刚开始使用时,遇到了各种问题,自己也走了不少弯路。本系列教程以Libero V11.8.2.4,SmartFusion系列A2F200M3F FPGA芯片为例,将详细介绍Libero SoC软件的基本使用,及使用过程中遇到一些问题的解决方法。 Libero 简介 关于Lib...

whik1194的博客 3万+

webrtc进阶-- FlexFEC 实现原理与调试分析(m80 代码对齐版)

WebRTC 中 FlexFEC 技术解析与调试指南 摘要:本文深入分析 WebRTC 的 FlexFEC(灵活前向纠错)技术实现原理,重点探讨其在 m80 版本中的协商机制、接收侧恢复流程以及 SFU 场景下的特殊处理。文章指出 FlexFEC 通过动态冗余策略提升弱网抗丢包能力,详细解析了编解码器分配、SSRC 映射、包恢复等关键环节,并提供了针对 XR+SFU 场景的调试建议。调试时可重点关注 FEC 包接收与媒体包恢复日志,以验证链路有效性。

HOSTEN的博客 48

DFS - spfa 判负环 ( L - The Shortest Path )

L - The Shortest Path ( DFS - spfa 判负环 ) 题目链接:http://codeforces.com/gym/101498/problem/L Input 3 3 3 1 2 -1 2 3 -3 3 1 -5 4 5 1 3 0 1 2 -2 2 3 3 3 4 1 4 1 -1 4 4 1 2 5 2 3 -3 3 4 -3 1 4 2 Outp...

石旭先森的博客 596

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

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

观光奶牛Sightseeing Cows (二分+spfa(dfs))

观光奶牛 农夫约翰已决定通过带他们参观大城市来奖励他们的辛苦工作!奶牛必须决定如何最好地度过他们的空闲时间。 幸运的是,他们有一个详细的城市地图,显示L(2≤L≤1000)主要地标(方便编号为1 .. L)和P(2≤P≤5000)单向奶牛路径加入它们。农夫约翰将把奶牛带到他们选择的起始地标,从那里他们将沿着牛路走到一系列其他地标,最后回到他们的起始地标,农民约翰将把他们捡起来带回农场。因...

weixin_30455023的博客 201

精雕软件(JDpaint) 5.5 绿色版

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

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

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

NYOJ 247 SPFA算法

虚拟的城市之旅 时间限制:3000 ms  |  内存限制:65535 KB 难度:6 描述 展馆是未来城市的缩影,个人体验和互动是不变的主题。在A国展馆通过多维模式和高科技手段,引领参观者在展示空间踏上一段虚拟的城市之旅。 梦幻国有N个城市和M条道路,每条道路连接某两个城市。任意两个城市之间最多只有一条道路直接相连。这M条道路中有一部分为单向通行的道路,一部

sunshine 357

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

bzoj 1690: [Usaco2007 Dec]奶牛的旅行——分数规划+spfa判负环

Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天。旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇。 很幸运地,奶牛们找到了一张详细的城市地图,上面标注了城市中所有L(2 <= L <= 1000)座标志性建筑物(建筑物按1..L顺次编号),以及连接这些建筑物的P(2 <= P <= 5000)条道路...

weixin_34416649的博客 153

CCF 201612-4 交通规划(spfa)

问题描述   G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。   建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可以通过高速铁路到达,而且从所有城市乘坐高速铁路到首都的最短路程和原来一样长。请你告诉G国国王在这些

martinue 731

nyoj247

虚拟的城市之旅 时间限制:3000 ms  |  内存限制:65535 KB 难度:6 描述 展馆是未来城市的缩影,个人体验和互动是不变的主题。在A国展馆通过多维模式和高科技手段,引领参观者在展示空间踏上一段虚拟的城市之旅。 梦幻国有N个城市和M条道路,每条道路连接某两个城市。任意两个城市之间最多只有一条道路直接相连。这M条道路中有一部分为单向通行的道路,一部

MBLHQ的博客 777

【bzoj1690/Usaco2007 Dec】奶牛的旅行——分数规划 最优比率环

Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天。旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇。 很幸运地,奶牛们找到了一张详细的城市地图,上面标注了城市中所有L(2 <= L <= 1000)座标志性建筑物(建筑物按1..L顺次编号),以及连接这些建筑物的P(2 <= P <= 5000)条道路。按...

weixin_30684743的博客 129

bzoj 1690: [Usaco2007 Dec]奶牛的旅行(01分数规划--最优比率环)

01规划问题: 给你n个物品,a[i]表示第i个物品的收益,b[i]表示代价,x[i]表示选或不选,求一个最佳方案使得下式取值最大 通用解: 当然是从式子上考虑,定义函数F[cnt]如下: 其中cnt就是目标式 仔细观察上式,可以发现 ①如果F[cnt]>0,那么很显然存在一个cnt',使得cnt'>cnt满足F[cnt']>=0,也就说当前不是最优解 ②当cnt递增

加载中... 904

【BZOJ 1690】 [Usaco2007 Dec]奶牛的旅行

01分数规划求最优比例环~

Regina8023 1748

bzoj1690 [Usaco2007 Dec]奶牛的旅行

Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天。旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇。 很幸运地,奶牛们找到了一张详细的城市地图,上面标注了城市中所有L(2 <= L <= 1000)座标志性建筑物(建筑物按1..L顺次编号),以及连接这些建筑物的P(2 <= P <= 5000)条道路。按照计划,那天早上Farm

We are OIers 1073

洛谷P2868 [USACO07DEC]观光奶牛 Sightseeing Cows

题目描述 Farmer John has decided to reward his cows for their hard work by taking them on a tour of the big city! The cows must decide how best to spend their free time. Fortunately, they have a detaile...

weixin_34232617的博客 80
上一篇: poj2031-Building a Space Station(最小生成树,kruskal,prime)
下一篇: 杭电find the safest road(最短路径,dijkstra,floyd)
Eric_keke
博客等级 码龄12年 37粉丝 221原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值