Problem. Q

Posted cjoiershiina-mashiro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Problem. Q相关的知识,希望对你有一定的参考价值。

题意简述:

给定(c)个正实数(r_i),你需要在平面直角坐标系上构造(c)个点,满足第(i)个点到原点的距离恰好是(r_i),且这(c)个点构成的凸包面积最大。

数据范围:

(cle8)

解法:

先强制一些点在凸包上,然后再枚举它们的圆排列顺序,计算此时的最优解,不难证明这样一定不会优于最优解且最优解一定会被枚举到。
设现在有(n)个点(a_1,cdots,a_n),满足(|Oa_i|=r_i),设( heta_i=<vec{Oa_i},vec{Oa_{i+1}}>)
显然原点一定在最优解的凸包内,所以此时凸包的面积为(f=sumlimits_{i=1}^nr_ir_{i+1}sin( heta_i))
我们有限制(sumlimits_{i=1}^n heta_i=2pi),根据Lagrange乘数法,此时取到最优解的充要条件是(forall iin[1,n],r_ir_{i+1}cos( heta_i)=lambda)( heta_i=arccos(frac{lambda}{r_ir_{i+1}}))
因为(arccos)([0,1])内单调,因此我们可以二分出让(sumlimits_{i=1}^n heta_i=2pi)(lambda)然后求出此时的面积。





以上是关于Problem. Q的主要内容,如果未能解决你的问题,请参考以下文章

Problem-1000:A + B Problem

Daily Coding Problem: Problem #339

(light oj 1102) Problem Makes Problem (组合数 + 乘法逆元)

FZU Problem 1692 Key problem(循环矩阵)

剑指offer(Problem2-Problem5)(java)

F - Problem Makes Problem (LightOJ - 1102)