hdu 3264 二分 圓相交面積

2021-07-11 14:48:02 字數 607 閱讀 8394

題意:給出一些圓,選擇其中乙個圓的圓心為圓心,然後畫乙個大圓,要求大圓最少覆蓋每個圓的一半面積。求最小面積。

解題思路:首先列舉每個圓,以其圓心作為大圓的圓心,然後再用二分去尋找最小的半徑。

#include#include#include#includeusing namespace std;

const int maxn = 20;

const double eps = 1e-8;

const double pi = 3.14159265;

struct circle

p[maxn];

int n;

double dist(double x1,double y1,double x2,double y2)

double area(double x0,double y0,double radius,circle p)

bool check(int k,double radius)

int main()

else l = mid;

}} printf("%.4f\n",ans);

} return 0;

}

HDU 3264 求兩圓相交的面積

此題意很簡單,思路也容易想到。但是我就是卡在了求兩圓相交求面積的地方。還好現在有了模板了。不說了,直接貼 還得多多總結,二分真的很好用,要學會用啊!include include include includeusing namespace std define inf 2147483647 def...

hdu5012 圓環相交面積

題中給了 兩個同心圓,乙個大圓乙個小圓,然後再給了乙個大圓乙個小圓也是同心圓,求這兩個圓環相交的面積,用兩個大圓面積減去兩倍大小圓面積交加上兩個小圓面積交,就ok了 這裡算是坑明白了 使用acos的時候要保證不能讓大於1或者小於 1的數進來,因此加乙個判斷,在現場的時候就是這裡被坑死了 includ...

hdu1669 二分多重匹配 二分

n個人分成m組,求人數最多的那一組人數的最小值。每個人肯定只能匹配乙個組,但乙個組可以匹配多個人,因此屬於多重匹配。我們設定乙個limit,表示每組最多能容納的人數。在dfs u 尋找u的匹配時,如果某一組vv的人數小於limit,那麼可以把u和vv匹配,vv已經匹配的人數 1。否則,當人數已經達到...