P1081 开车旅行

Posted lance1ot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1081 开车旅行相关的知识,希望对你有一定的参考价值。

P1081 开车旅行

排序优化+倍增

其实这道题一开始是一点也没有头绪,知道有高人指点了一下。说并不需要拘束于出发点和路径长度,也就是问题1.2。不过一个是固定路径长度的询问,另一个是给定起点和路径长度的询问。

所以问题一和问题二是可以使用一个函数解决的,而且对于一个城市来说,在不考虑路程的情况下,路线是一定的。

然后我们就可以从遍历图变成枚举终点然后判断路程是否合法。

然后为了加速就可以使用倍增处理

对于每个城市,我们需要找他的最近点和次近点。O(N^2)会超时,这时候我们就需要优化可以考虑双向链表进行优化。

我们先按海拔进行排序,然后将标号为1的点拿出来进行处理,显然,只有在链表中的左右相邻的两个的城市(一个方向)才有可能是满足条件的点

然后再将处理完最近和次近的点在链表中删除(因为路径方向是有序的),这时候标号为2的点就成了标号为1的点,这样就可以了。

以上是关于P1081 开车旅行的主要内容,如果未能解决你的问题,请参考以下文章

题解 P1081 开车旅行

Luogu P1081 NOIP2012开车旅行

[NOIP2012] 提高组 洛谷P1081 开车旅行

P1081 开车旅行[倍增](毒瘤题)

P1081 开车旅行

开车旅行