P11757 [COTS 2014] 城市建设 / GRAD 题解

· · 题解

:::::info[闲话] LCA Project 几乎全机房人都被这道题肘飞了…… ::::: :::::info[题目基本信息] 考察:倍增(省选/NOI-)。
题目简介:
一个平面上初始时有两个点,坐标给定,且两点间有一条道路,长度为两点的欧几里得距离。
现在你要进行 n 次操作,操作分为两种:

  1. 新增一个点,坐标为 (x,y),同时会向 u,v 两点连边,长度也为欧几里得距离,但保证 u,v 两点已有边相连。
  2. 查询 u,v 间最短路。

数据范围:

结束。
时空复杂度均为 \Theta(n\log n)

code(指针)
code(无指针)(这一份里有 freopen,是赛时代码)