zoukankan      html  css  js  c++  java
  • 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)然后求出此时的面积。

  • 相关阅读:
    [BZOJ3694]最短路
    [Usaco2011 Jan]道路和航线
    洛谷P1443马的遍历
    洛谷P1636学画画
    洛谷P1605走迷宫
    队列&广搜
    数论卷积公式and莫比乌斯反演
    数学之判断素数
    纯数学篇之欧拉定理证明
    筛素数
  • 原文地址:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12940244.html
Copyright © 2011-2022 走看看