【SCOI2012】滑雪与时间胶囊

该博客讨论了SCOI2012比赛中的一个问题,涉及到滑雪者a180285如何利用时间胶囊在有向高度图中寻找最短路径并访问最多景点。解决方案包括使用BFS找到可达节点的最大数量,以及通过Kruskal算法求解最小生成树来确定最短滑行距离。
摘要由CSDN通过智能技术生成

【SCOI2012】滑雪与时间胶囊

【题目描述】

a180285非常喜欢滑雪。他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有一编号i(1<=i<=N)和一高度Hi。a180285能从景点i滑到景点j当且仅当存在一条i和j之间的边,且i的高度不小于j。 
与其他滑雪爱好者不同,a180285喜欢用最短的滑行路径去访问尽量多的景点。如果仅仅访问一条路径上的景点,他会觉得数量太少。于是a180285拿出了他随身携带的时间胶囊。这是一种很神奇的药物,吃下之后可以立即回到上个经过的景点(不用移动也不被认为是a180285滑行的距离)。请注意,这种神奇的药物是可以连续食用的,即能够回到较长时间
之前到过的景点(比如上上个经过的景点和上上上个经过的景点)。
现在,a180285站在1号景点望着山下的目标,心潮澎湃。他十分想知道在不考虑时间胶囊消耗的情况下,以最短滑行距离滑到尽量多的景点的方案(即满足经过景点数最大的前提下使得滑行总距离最小)。你能帮他求出最短距离和景点数吗?

【输入】

输入的第一行是两个整数N,M。 
接下来1行有N个整数Hi,分别表示每个景点的高度。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值