傳送門
首先要發現其實木棍覆蓋區域是圓環形狀的。
於是我們要求出大圓半徑r和小圓半徑r
首先大圓半徑顯然是在兩個端點處取到的。
然後,發現點在木棍上移動是與圓心距離的函式是單峰函式。
於是我們可以三分求最小值。
然後問題九轉化成了圓形面積和長方形面積的交。
分類要論以下就可以求出來了。
#include
#include
#include
#include
#include
#include
#define eps 1e-10
#define pi acos(-1)
#define db double
using namespace std;
int t;
db d1,d2;
db s
qr(db x)
struct p;
p(db _,db __):
x(_),y(__){}
void read()
friend p operator +(p a,p b)
friend p operator -(p a,p b)
friend p operator *(p a,db b)
}o,w,x,y,p1,p2;
db dis(p a,p b)
db solve(db r)
if (w.y-o.y
//puts("2");
db tmp=sqrt(s
qr(r)-s
qr(w.y-o.y));
db angle=acos((w.y-o.y)/r)*2
*(0.5/pi);
s-=2
*(pi*r
*r*angle-2
*tmp
*(w.y-o.y)/2);
}returns;}
int main()
p1=x+(y-x)*((l+r)/2);
d2=min(d2,dis(p1,o));
printf("%.15lf\n",solve(d1)-solve(d2));
//printf("%.15lf %.15lf\n",solve(d1),d1);
//printf("%.15lf %.15lf\n",solve(d2),d2);
}}
492 構造矩形
鏈結 作為一位web開發者,懂得怎樣去規劃乙個頁面的尺寸是很重要的。現給定乙個具體的矩形頁面面積,你的任務是設計乙個長度為 l 和寬度為 w 且滿足以下要求的矩形的頁面。要求 1.你設計的矩形頁面必須等於給定的目標面積。2.寬度 w 不應大於長度 l,換言之,要求 l w 3.長度 l 和寬度 w ...
492 構造矩形
作為一位web開發者,懂得怎樣去規劃乙個頁面的尺寸是很重要的。現給定乙個具體的矩形頁面面積,你的任務是設計乙個長度為 l 和寬度為 w 且滿足以下要求的矩形的頁面。要求 1.你設計的矩形頁面必須等於給定的目標面積。2.寬度 w 不應大於長度 l,換言之,要求 l w 3.長度 l 和寬度 w 之間的...
492 構造矩形
作為一位web開發者,懂得怎樣去規劃乙個頁面的尺寸是很重要的。現給定乙個具體的矩形頁面面積,你的任務是設計乙個長度為 l 和寬度為 w 且滿足以下要求的矩形的頁面。要求 1.你設計的矩形頁面必須等於給定的目標面積。2.寬度 w 不應大於長度 l,換言之,要求 l w 3.長度 l 和寬度 w 之間的...