【题目描述】
直线上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吧哈!