【BZOJ1011】遥远的行星
Zarxdy34
posted @ 2015年9月29日 18:17
in BZOJ
, 494 阅读
当我知道这道题是估算的时候我的内心几乎是崩溃的...
#include <cstdio> #include <algorithm> using namespace std; typedef long long LL; const double eps=1e-8; int M[100010]; int n; double A; int main() { scanf("%d%lf",&n,&A); int k=0;LL sum=0; for (int i=1;i<=min(n,2000);i++) { double ans=0; scanf("%d",&M[i]); if (k+1<=A*i+eps) k++,sum+=M[k]; for (int j=1;j<=k;j++) ans+=(double)M[i]*(double)M[j]/(double)(i-j); printf("%f\n",ans); } for (int i=2001;i<=n;i++) { scanf("%d",&M[i]); if (k+1<=A*i+eps) k++,sum+=M[k]; double p=(double)1.0/(i-k/2); printf("%f\n",p*(double)M[i]*(double)sum); } return 0; }