【BZOJ1011 || HNOI2008】遥远的行星

【题目描述】

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

搞笑题 O(∩_∩)O


【简要分析】

看数据范围我就萎了,然后乱搞也只得10分

事实证明就是根据可以有5%的误差乱搞= =

这位仁兄推出了个式子(屌霸天)!

http://hi.baidu.com/zeonsgtr/item/789da6f2838a3dc742c36ab7

设f[i]为第i个行星受到的引力,g[i]表示第i个行星所受引力的最后来源行星



然后小范围(我是取 α * i < 9)暴力搞,大范围就乱搞,忽略除数(i - j)的差距

BZOJ--discuss区有人说过不了,—O2对精度有点影响

C++在trunc或者强制类型转换前记得+1e-8


【Code】

BZOJ第二!(太水了神犇都没做5555555)

都是乱搞就没有代码优越感了⊙﹏⊙ = =!

自己YY吧哈!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值