BZOJ2178 圓的面積並

2022-05-30 19:24:08 字數 922 閱讀 4566

給出n個圓,求其面積並

先給乙個數字n ,n< = 1000 接下來是n行是圓的圓心,半徑,其絕對值均為小於1000的整數

面積並,保留三位小數

直接套\(simpson\)積分板子就好了,判掉圓包含的情況,然後每次求\(f(x)\)的時候直接列舉所有的圓然後掃瞄線暴力搞,因為積分的意義下\(f(a)\)的幾何意義就是\(x=a\)被圖形覆蓋的長度。

#includeusing namespace std;

void read(int &x)

void print(int x)

void write(int x)

#define lf double

#define ll long long

const int maxn = 1e3+10;

const int inf = 1e9;

const lf eps = 1e-8;

struct c

}a[maxn];

int n;

#define sqr(x) ((x)*(x))

struct asd

}rr[maxn];

lf f(lf x) ;

} sort(rr+1,rr+t+1);

lf ans=0,d=rr[1].d;

for(int i=1;i<=t;i++)

if(delse if(dreturn ans;

}lf _int(lf l,lf r)

lf simpson(lf l,lf r,lf res)

int main()

printf("%.3lf\n",simpson(-2000.00,2000.00,_int(-2000.00,2000.00)));

return 0;

}

bzoj 2178 圓的面積並

給出n個圓,求其面積並 先給乙個數字n n 1000 接下來是n行是圓的圓心,半徑,其絕對值均為小於1000的整數 面積並,保留三位小數 自適應辛普森。留個模板好了 include include include include includeusing namespace std const do...

BZOJ 2178 圓的面積並

description 給出n個圓,求其面積並 題目分析 simpson積分模板題。其實程式有bug,懶得寫了。其實就是不斷的二分,到乙個較小值的時候,就可以了。include include include define f i,j,n for int i j i n i define d i,j...

BZOJ 2178 圓的面積並 辛普森積分

題面 給定n個圓,求其面積並,n 1000 題目分析 直接辛普森積分上。有乙個優化,預先把被其它圓包含的圓濾去。辛普森積分會求很多次一條線上的並,這個優化的效果很明顯,從10000ms 2500ms code include include include define maxn 1005 usin...