题解 | #Let's Play Osu!#
Lets Play Osu!
https://ac.nowcoder.com/acm/problem/109719
期望长度:
ki=(ki−1+1)×pi
期望分数:
fi=fi−1×(1−pi)+(fi−1+2×ki−1+1)×pi
于是可以写出:
int n;
double p[N],f[N],k[N];
void solve(){
//k[0] = 0;
rep(i,1,n)
k[i] = (k[i-1] + 1) * p[i];
//f[0] = 0;
rep(i,1,n){
f[i] = f[i-1]*(1.0-p[i]) + (f[i-1] + 2.0*k[i-1] + 1.0)*p[i];
}
printf("%.10lf",f[n]);
}