本文为该书的笔记:刘汝佳. 算法竞赛入门经典.第 2 版 [M]. 清华大学出版社, 2014.
UVa11346 概率
在 [-a,a]*[-b,b] 区域内随机取一个点 P ,求以 (0,0)和 P 为对角线的长方形面积大于 S 的概率( a,b>0 , S ≥ 0 )。例如 a=10 , b=5 , S=20 ,答案为 23.35 %。
样例:
Sample Input
3
10 5 20
1 1 1
2 2 0
Sample Output
23.348371%
0.000000%
100.000000%
根据对称性,我们可以只考虑第一象限的情况,在第一象限内以 (0,0)和 P(x,y)为对角线的长方形面积等于 S 的点所组成的曲线为 y=Sxy=\frac S xy=xS ,在该曲线上方的点都满足条件。而求正方形内曲线上方的点的面积,我们可以用正方形面积减去阴影部分的面积。
P 点的坐标为 (S/b,b),故阴影部分面积为:
Sb×b+∫SbaSx=S+S∫Sba1x\frac S b \times b+\int _{\frac S b} ^a {\frac S x}=S+S\int _{\frac S b} ^a {\frac 1 x}bS×b+∫bSaxS=S+S∫bSax1
∫Sba1x=ln(a)−ln(Sb)=ln(abS)\int _{\frac S b} ^a {\frac 1 x}=ln(a)-ln(\frac S b)=ln(\frac {ab} S)∫bSax1=ln(a)−ln(bS)=ln(Sab)
如果设 m=abm=abm=ab ,则概率为 m−S−Sln(mS)m\frac {m-S-Sln(\frac m S)} mmm−S−Sln(Sm) 。
但是这个式子是有范围的,如果 m<=S,概率为 1 。当 S 很接近 0 的时候, mS\frac m SSm