CF838E Convex Countour

题目描述

给定一个严格凸多边形,共有 $n$ 个顶点。保证不存在三点共线。你希望在多边形的顶点上取一条最大的不相交路径,每个点最多访问一次。 更具体地,你的路径可以表示为一串互不重复的多边形顶点序列。你的路径由按序排列的相邻顶点之间的直线段组成。除了路径序列中的顶点外,这些线段不能相交或接触。 给定这个多边形,输出这条最大长度的不相交路径,每个点最多访问一次。

输入格式

输入的第一行为一个整数 $n$($2 \leq n \leq 2500$),表示点的数量。 接下来的 $n$ 行,每行包含两个整数 $x_i,y_i$($|x_i|, |y_i| \leq 10^9$),表示第 $i$ 个顶点的坐标。 保证这些点是按顺时针顺序给出的。

输出格式

输出一个浮点数,表示最长的不相交路径的长度,每个顶点最多访问一次。 如果你的答案与标准答案的绝对误差或相对误差不超过 $10^{-9}$,则被认为是正确的。更具体地说,设你的答案为 $a$,标准答案为 $b$,则在满足下式时视为正确答案: $$ \frac{|a-b|}{\max(1,|b|)} \leq 10^{-9} $$

说明/提示

一种最优解为依次访问顶点 0、1、3、2。 由 ChatGPT 5 翻译