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

图 4:第二个测试用例中的多边形 和 ,最优亮度已标出。
给定一个凸多边形 ,其顶点依次为 。多边形会在 步操作中发生变化——在第 步,我们删除一个已有顶点,得到新多边形 。更精确地说,多边形 的顶点是尚未删除的 的顶点,并且它们的顺序与原多边形 相同。可以看出,每个多边形 仍然是凸的。
请计算初始多边形 及每个得到的多边形 的最大亮度。
输入格式
输入的第一行包含正整数 ——初始多边形 的顶点数。接下来的 行,每行包含两个整数 和 ——顶点 的坐标。随后一行包含整数 ——变化次数。接下来的 行,每行包含整数 ,表示第 步删除顶点 。可以保证多边形 的顶点按逆时针给出,不存在连续平行线,并且所有删除索引 两两不同。
输出格式
输出 行。第一行输出初始多边形 的最大亮度,第 行输出第 步变更后多边形 的最大亮度。允许输出结果与标准答案的绝对或相对误差不超过 。
4
0 0
10 0
10 10
0 10
1
2
20.000000
24.142136
6
2 2
4 0
6 0
8 2
8 4
2 4
3
1
4
3
10.828427
11.300563
10.944272
11.656854
提示
子任务
::cute-table{three} |编号 |分数 |限制条件 | |:-:|:--:|:--------:| |||| |||| |||| |||,对所有 有 | ||||
翻译来源:GPT 4.1 mini。