【湖南集训 4.7】yist

题目描述

给出 n 个点分别到原点的距离 ri ,问这些点可能的凸包的面积最大值。

20%:n=3
40%:n=4
n8,ri103


分析

一定要注意凸包上不一定有所有 n 个点!

n=3 时,给出是一个三角形。
那么面积最大,当且仅当原点位处三角形的垂心。(证明?调整法)
n=4 时,记得要判定退化成三角形的情况。
面积最大时是风筝型。(证明?调整法)

枚举凸包上点的排列后,实际上题目是要求这个

maximize i=0nriri+1sinαi

s.t. i=0nαi=2π

考虑用拉格朗日乘数法。
方便起见用向量表示。

v=(α0,,αn),s=(r0r1,,rn1rn,rnr0),g(v)=i=0nvi

L(v,g(v))=sv+λg(v)=0

Lαi=sicosαi+λ=0αi=arccos(λsi)

i=0nαi=2π

讲道理 n+1 个方程 n+1 个变量可以强解,但是这里有三角函数,比较麻烦。

考虑 arccos(x) 有单调性
【湖南集训 4.7】yist_第1张图片
那么这里可以二分 λ ,从而求得满足条件,且各变量偏导皆为 0 的解即为条件最值。
(十分灵活地运用了拉格朗日乘数法)

其实拉格朗日乘数法就是多元函数求最值问题,给它套上了约束(也就是条件最值问题)。
可以发现它这样子构造出来的新方程组,恰好各分量偏导等于 0 之余,新变量的偏导等于 0 保证了约束条件的成立。因此这玩意就能求条件最值了。

时间复杂度 O(n!logm)
空间复杂度 O(n)


插曲

在改题的时候第一次交T掉了,原因是因为数组开太大寻址太慢了233

你可能感兴趣的:(数学,解题报告)