HDU5984 (Pocky)[期望,微积分]

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5984

题解链接:https://blog.csdn.net/toy_block/article/details/53433240
第一次做连续概率的题,这里要设一个函数f(x),代表距离右边界距离为x的点的切割次数期望为f。
当x < d时,显然f(x)为0;当x > d时,f(x)=1+x到d这一段的平均期望。注意边界条件f(d)=1。

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cstdio>
#include <cmath>
using namespace std;
const double eps = 1e-7;
int main() {
int T;
double L,d;
scanf("%d",&T);
while(~scanf("%lf%lf",&L,&d) && T--) {
if(L-d<eps) printf("0.000000\n");
else printf("%.6lf\n",log(L/d)+1);
}
}