因为打麻将迟到了半个小时
前两题都很简单,不过不知道为什么第二个题直接找最大区间过不了,大概是哪写错了,然后硬排了个序才过。
虽然题很简单,但花的时间很长,这也是一贯的毛病了:做一件事时稍微想不下去就去干别的事。
等到第三题的时候已经只剩30分钟了。算法很简单,先合并线段,然后将合并后的线段作为图的顶点,SPFA两遍就行了:对于起点(或终点),任意一条合并后的线段到它的最短距离是可以求出来的(顺带一个此路径上的停止点)。从起点到终点的最短路如果存在的话,那么必然经过某条线段,且【起点到此线段的距离+终点到此线段的距离+两个停止点之间的距离】最小。然后由于king是可以斜着走的,这个停止点可能实际上是一个区间= =于是我就卡在这个细节上了,oh yeah。
也就是说手速是硬伤。不过毕竟是玩嘛,无所谓了。