[AGC007C] Pushing Balls

题意

传送门

思路

详见

非常神奇的是每次操作完后的坑洞间期望距离还是一个等差数列

这样就可以通过观察前两项得出首项和公差,然后计算答案

#include <bits/stdc++.h>
int n;
long double d,x,ans;
int main(){
	scanf("%d%Lf%Lf",&n,&d,&x);
	for (;n;n--){
		long double n2=n*2;
		ans=ans+d+(n2-1)*x/2;
		d=d+(2*d+5*x)/n2;
		x=x+4*x/n2;
	}
	printf("%.10Lf\n",ans);
}
posted @ 2020-12-30 09:37  flyfeather  阅读(81)  评论(0编辑  收藏  举报