原题解链接:https://ac.nowcoder.com/discuss/153563 线段树+倍增+LCA。 首先车站一定在所有铁路的经过的点的交集上,所以可以用线段树求出区间路径的交集,同时维护离路径交的两个端点最远的点。找到出了最远的两个点后,那么可以倍增求出车站的位置。 具体地,线段树每个节点维护u,v,du,dv,u,vu,v,du,dv,u,vu,v,du,dv,u,v是路径交,du,dvdu,dvdu,dv是分别是距离u,vu,vu,v最远的点。合并两个区间的过程是先对两个区间的路径求路径交,然后新的du,dvdu,dvdu,dv一定是两个区间中四个du,dvdu,dvdu,d...