logo AlgoBeat OnlineJudge
登录 注册

#216126. [COI 2018] Svjetlost 光

内存限制:1024 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

3s,1024MB。


在平面上,若我们有一个凸多边形 ,并且在多边形外放置一个光源 ,那么它会照亮多边形的一些边——如果 是多边形的两个相邻顶点,则边 会被照亮,当且仅当三角形 的面积不为零,且该边不与多边形内部相交。多边形的亮度定义为被照亮边的长度之和,而多边形的最大亮度是指我们选择最优光源位置 所能得到的最大亮度。点 与多边形的距离可以任意, 的坐标不必为整数。

图 4:第二个测试用例中的多边形 ,最优亮度已标出。

给定一个凸多边形 ,其顶点依次为 。多边形会在 步操作中发生变化——在第 步,我们删除一个已有顶点,得到新多边形 。更精确地说,多边形 的顶点是尚未删除的 的顶点,并且它们的顺序与原多边形 相同。可以看出,每个多边形 仍然是凸的。

请计算初始多边形 及每个得到的多边形 的最大亮度。

输入格式

输入的第一行包含正整数 ——初始多边形 的顶点数。接下来的 行,每行包含两个整数 ——顶点 的坐标。随后一行包含整数 ——变化次数。接下来的 行,每行包含整数 ,表示第 步删除顶点 。可以保证多边形 的顶点按逆时针给出,不存在连续平行线,并且所有删除索引 两两不同。

输出格式

输出 行。第一行输出初始多边形 的最大亮度,第 行输出第 步变更后多边形 的最大亮度。允许输出结果与标准答案的绝对或相对误差不超过

样例

样例输入 1

4
0 0
10 0
10 10
0 10
1
2

样例输出 1

20.000000
24.142136

样例输入 2

6
2 2
4 0
6 0
8 2
8 4
2 4
3
1
4
3

样例输出 2

10.828427
11.300563
10.944272
11.656854

数据范围与提示

子任务

::cute-table{three} |编号 |分数 |限制条件 | |:-:|:--:|:--------:| |||| |||| |||| |||,对所有 | ||||

翻译来源:GPT 4.1 mini。