二次联通门 : BZOJ 1011: [HNOI2008]遥远的行星

 

 

 

 

/*
    BZOJ 1011: [HNOI2008]遥远的行星

    给跪了。。
    模糊预估算法
    由精度误差的保证来计算答案
*/
#include <cstdio>
#include <iostream>
#define Max 100005
#define rg register
typedef double flo; flo m[Max], s[Max];
int main (int argc, char *argv[]) 
{
    int N; flo A, Answer = 0; scanf ("%d%lf", &N, &A); rg int i, j, k;
    for (i = 1; i <= N; ++ i)
    {
        j = (int) (A * i + 1e-8);
        scanf ("%lf", &m[i]); Answer = 0;
        if (i <= 500) for (k = 1; k <= j; ++ k) Answer += m[k] * m[i] / (i - k);
        else Answer = s[j] * m[i] / (i - j / 2);
        printf ("%f\n", Answer); s[i] = s[i - 1] + m[i];
    }
    return 0;
}

 

相关文章:

  • 2022-03-05
  • 2022-02-26
  • 2021-06-08
  • 2022-01-16
  • 2021-08-13
猜你喜欢
  • 2021-10-12
  • 2021-12-15
  • 2022-12-23
  • 2021-08-07
  • 2022-01-11
  • 2021-05-30
相关资源
相似解决方案