zoukankan      html  css  js  c++  java
  • [BZOJ 1011][HNOI2008]遥远的行星(奇技淫巧)

    Description

    直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=
    Mi*Mj/(j-i) 其中A为很小的常量,故直观上说每颗行星都只受到距离遥远的行星的作用。请计算每颗行星的受力
    ,只要结果的相对误差不超过5%即可

    Solution

    只要结果的相对误差不超过5%即可

    只要结果的相对误差不超过5%即可

    只要结果的相对误差不超过5%即可

    当计算行星i的受力时,如果i超过一定值,a*i相对i来说就很小了,可以把分母取平均值,用前缀和计算

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #define eps 1e-9
    using namespace std;
    int n;
    long long m[100005],sum[100005];
    double a;
    int main()
    {
        scanf("%d%lf",&n,&a);
        for(int i=1;i<=n;i++)
        {
            scanf("%lld",&m[i]);
            sum[i]=m[i]+sum[i-1]; 
        }
        for(int i=1;i<=n;i++)
        {
            double x=0;
            int hah=a*i+eps; 
            if(i<=1000)
            for(int j=1;j<=hah;j++)
            x+=(m[j]*m[i])/(double)(i-j);
            else
            {x=(sum[hah]*m[i])/(i-hah*0.5);}
            printf("%lf
    ",x);
        }
        return 0;
    }
  • 相关阅读:
    Day 24 Network Programming
    Day 22 23 Network Programming
    Day 21 OOP
    Day 20 OOP
    Day 19 OOP
    Day 18 OOP 面向对象编程
    Day 17 Frequently-used modules
    4--jenkins部署tomcat
    3--Jenkins详解 、用户权限、构建maven、参数化构建
    5--Zabbix分布式 监控 ; snmp监控
  • 原文地址:https://www.cnblogs.com/Zars19/p/6652871.html
Copyright © 2011-2022 走看看