BZOJ-1011: [HNOI2008]遥远的行星

作者: AmadeusChan | 来源:发表于2018-11-19 18:17 被阅读0次

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1011

这里有个神奇的近似公式(传送门:http://hi.baidu.com/zeonsgtr/item/789da6f2838a3dc742c36ab7),然后就可以水过去了。。。不过BZOJ上面略坑C++精度啊,我用double在本地A了在OJ WA个不停,改称long double在本地WA了在OJ上却AC了额。。。

代码:

#include <cstdio>

#include <algorithm>

#include <cstring>

#include <cmath>

 

using namespace std ;

 

#define ld long double

#define g( i ) ( int( a * ( ld )( i ) ) )

#define maxn 100100

 

int n , t ;

ld a , f[ maxn ] , m[ maxn ] ;

 

int main(  ) {

    scanf( "%d%llf" , &n , &a ) ;

    for ( int i = 0 ; i ++ < n ; ) scanf( "%llf" , m + i ) ;

    t = int( sqrt( n ) ) ;

    for ( int i = 0 ; i ++ < t ; ) {

        f[ i ] = 0 ;

        for ( int j = 0 ; j ++ < g( i ) ; ) f[ i ] += ( m[ j ] / ( ld )( i - j ) ) * m[ i ] ;

        for ( int j = i + t ; j <= n ; j += t ) {

            f[ j ] = ( f[ j - t ] / m[ j - t ] ) * ( ( ld )( j - t - g( j - t ) / ( ld )( 2 ) ) / ( ( ld )j - ( ld )g( j - t ) / ( ld )( 2 ) ) ) ;

            for ( int k = g( j - t ) ; k ++ < g( j ) ; ) {

                f[ j ] += ( m[ k ] / ( ld )( j - k ) ) ;

            }

            f[ j ] *= m[ j ] ;

        }

    }

    for ( int i = 0 ; i ++ < n ; ) printf( "%.10f\n" , double( f[ i ] ) ) ;

    return 0 ;

}

相关文章

  • BZOJ-1011: [HNOI2008]遥远的行星

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1011 这...

  • 遥远的行星

    对着遥远的行星呐喊, 声音化为电波消失在宇宙间, 我们,听不懂彼此的语言。 一对分隔两地, 住在不同星球的恋人。 ...

  • 在遥远的行星系统中发现的大量潜在年轻行星

    在遥远的行星系统中发现的大量潜在年轻行星 天文学家已经编目了近4000颗绕遥远恒星运行的系外行星。尽管这些新发现的...

  • 构成系外行星的物质是什么?

    乌日兹的研究人员使用统计工具分析了遥远系外行星的组成和结构。分析表明:一颗行星是类地行星是由纯岩石构成,还是由水构...

  • 《遥远行星》一:神秘的身世

    文/狗尾巴草 2479年,地球文化已经非常发达,但地球人的信息激光束仍然不能穿越恒星,这就意味着隐藏在恒星背后的恒...

  • 初次见面

    初次见面 大家好啊~~~我是来自遥远行星的涨涨,处于名叫数学的行星里,文学的世界已经离我很远很远了,为了刺激我能对...

  • 2021-08-07

    你在仰望遥远的星空 但或许 遥远的星空里 有个人 也在仰望着遥远星空里的你 行星永远独自行走 环绕你的 你以为是相...

  • 20年的远征

    宇宙奥秘连载第一卷 行星中的“巨无霸”第五章 20年的远征前言 长时间以来,土星这颗遥远的行星始终蒙着神秘的面纱。...

  • 如何面对自己?如何面对世界?| 3分钟占星入门教程(相位)

    前两期我们已经了解了星盘的12个宫位,以及分布于上的10颗行星。我们可以看到,有些行星的位置很接近,有些很遥远,互...

  • 我们耀眼又灿烂

    我们在时间的长河里是那样渺小,如果时间是宇宙,那我们就是比行星还要微小的存在,我们从遥远的地方来,我们又从遥远...

网友评论

    本文标题:BZOJ-1011: [HNOI2008]遥远的行星

    本文链接:https://www.haomeiwen.com/subject/imbafqtx.html