#P9819. [ICPC 2020 Shanghai R] Wowoear

    ID: 9182 远端评测题 7000ms 1024MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>计算几何2020上海Special JudgeO2优化线段相交ICPC

[ICPC 2020 Shanghai R] Wowoear

Description

Wowo 是一位单人冒险家,他曾独自一人在森林、沙漠甚至冰川中完成过许多危险的旅程。ICPC(上海市可编程作弊邀请赛)组委会邀请 Wowo 作为新的跑步测试员。

该试验可描述为二维简单折线 (p1,,pn)(p_1,\ldots, p_n)。换句话说,试验由 n1n-1 条线段 (p1,p2),,(pn1,pn)(p_1, p_2),\ldots, (p_{n-1}, p_n) 组成。除了两个连续的线段 (pi,pi+1)(p_i, p_{i+1})(pi+1,pi+2)(p_{i+1}, p_{i+2}) 相交于点 pi+1p_{i+1} 外,其他线段互不相交。任何两条连续的线段都有不同的方向。委员会希望 Wowo 从 p1p_1pnp_n 依次沿着线段 (p1,p2),,(pn1,pn)(p_1,p_2),\ldots, (p_{n-1}, p_n) 运行。

然而,Wowo 拥有一个智能设备,可以在一段时间内侵入委员会的系统。Wowo 能够在试验中选择 22a,ba, b ,并沿着线段 (a,b)(a, b) 直接从 aa 跑到 bb 。其中每个 aabb 都可以是某个 pip_i1in1\le i\le n)。(1in1\le i\le n) ,也可以是线段 (pi,pi+1)(p_i, p_{i+1}) 上的某一点。(1in1\le i \le n)上的某一点。在到达 aa 之前和 bb 之后,Wowo 必须沿着原来的试验路线运行。沃沃不想被发现作弊,所以他决定线段 (a,b)(a, b) 不能与试验中的任何线段相交,也不能接触到 aabb 以外的任何点。请帮助 Wowo 明智地选择 aabb ,并利用他的智能作弊装置输出 Wowo 需要从 p1p_1 跑到 pnp_n 的最短距离

Input Format

第一行包含一个整数 nn ,表示运行试验中的点数( 2n2002\le n\le 200 )。

i+1i+11in1\le i\le n)行包含两个整数 xxyy,中间用一个空格隔开,表示 pip_i1000x,y1000-1000\le x, y\le 1000)的坐标。

除了两条连续的线段 (pi,pi+1)(p_i, p_{i+1})(pi+1,pi+2)(p_{i+1}, p_{i+2}) 相交于点 pi+1p_{i+1} 之外,其他线段保证互不相交。换句话说,对于满足 1i<j<n1 \le i\lt j \lt n 的任何整数 i,ji, j,$(p_i, p_{i+1})\cap (p_{j}, p_{j+1})=\left\{\begin{array}{cc}\emptyset & i\neq j-1\\ \{p_{j}\} & i = j-1\end{array}\right.$ 都成立。这里的 (s,t)(s, t) 代表从 sstt 的线段上的所有点,包括 sstt。 可以保证每条线段的长度都不为零。换句话说,pipi+1p_i\neq p_{i+1} 满足任意整数 i[1,n)i\in [1, n)

保证相邻线段不相交。换句话说,对于任意整数 i[1,n2]i\in [1,n-2] 和任意实数 λ\lambdapipi+1p_i - p_{i+1}等于λ(pi+1pi+2)\lambda(p_{i+1}-p_{i+2})

Output Format

输出 Wowo 需要运行的最短距离。如果答案的绝对误差或相对误差不超过 10610^{-6},则认为答案正确。
Translation by nightwatch_ryan

5
0 0
1 10
2 0
3 10
4 0
22.099751242242