給出紅色部分面積,求大圓的最短直徑(兩小圓直徑之和等於大圓直徑)。or
zwyc
,xyy
dala
oorz
wyc,
xyyd
alao
反正我是沒有看出開個根號就好了。
先把問題轉化為圓中的問題。
此時紅色部分面積就為2s2
s了。而所有圓的直徑不變。
設兩個小圓的直徑分別為x,y
x,y,大圓的直徑為m
m,我們欲求πx
2+πy
2=πm
2−2s
πx2+
πy2=
πm2−
2s移項得2s=
πm2−
πx2−
πy22
s=πm
2−πx
2−πy
22s=
π(m2
−x2−
y2)2
s=π(
m2−x
2−y2
)2sπ
=m2−
x2−y
2π2s
=m2
−x2−
y2等號左邊是已知的。由於要求大圓的直徑最小,所以可以考慮二分mm。
有一點很顯然的是,當兩小圓直徑差∣x−
y∣∣x
−y∣越大,兩小圓面積之和πx2
+πy2
πx2+
πy2越大。
所以這也是滿足單調性的。可以考慮二分x
x來驗證直徑為m
m時是否合法。pi
pi保留小數點後15位。一開始保留7位被卡精度了。。。
時間複雜度o
(log2
(max
len)
)o(log2(
maxl
en))
#include
#include
using
namespace std;
const
double pi=
3.141592653589793
;const
double minn=
0.00001
;double s;
bool
check
(double x)
if(x/
2.0-r<=minn)
return0;
return1;
}int
main()
printf
("%0.3lf"
,l);
return0;
}
牛客練習賽46 華華跟奕奕玩遊戲(期望 逆元)
有乙個箱子,開始時有n個黑球,m個藍球。每一輪遊戲規則如下 第一步 奕奕有p的概率往箱子裡新增乙個黑球,有 1 p 的概率往箱子裡新增乙個藍球。第二步 華華隨機從箱子裡取出乙個球。華華喜歡黑球,他想知道k輪遊戲之後箱子裡黑球個數的期望。輸入五個整數n,m,k,a,b。1 n,m 1e6,1 k 1e...
牛客 華華教月月做數學 (快速冪)
華華教月月做數學 這道題屬於快速冪型別的題,唯一棘手的是用常規的快速冪會爆long long,這時候對於沒有大數的c 而言,要麼用手寫大數函式來做,要麼就在快速冪的基礎上,為防止溢位,將快速冪中的乘法拆成加法求餘,類似快速冪的快速乘。include using namespace std typed...
牛客小白月賽12 B 華華教月月做數學
點選做題 鏈結 題目描述 找到了心儀的小姐姐月月後,華華很高興的和她聊著天。然而月月的作業很多,不能繼續陪華華聊天了。華華為了盡快和月月繼續聊天,就提出幫她做一部分作業。月月的其中一項作業是 給定正整數a b p,求abm odpa bmod p的值。華華覺得這實在是毫無意義,所以決定寫乙個程式來做...