设为首页 加入收藏

TOP

BZOJ 1011 HNOI2008 遥远的行星 递推
2015-07-20 17:26:11 来源: 作者: 【 】 浏览:3
Tags:BZOJ 1011 HNOI2008 遥远 行星 递推

题目大意:给定一条直线上的一些行星,按照题目要求计算,求每个点所受重力

我没有在标题上写”乱搞“的原因是我看了题解一堆说乱搞的0.0 然后我就真乱搞了0.0 每个点只计算临近的1000个,结果狂WA不止。。。

乱搞肯定过不去 不用想了

其实说是递推比较合适 详细题解见http://hi.baidu.com/zeonsgtr/item/789da6f2838a3dc742c36ab7 我不累述了

#include
  
   
#include
   
     #include
    
      #include
     
       #define M 100100 using namespace std; int n,t=100,g[M]; double a,mass[M],ans[M]; int main() { int i,j; cin>>n>>a; for(i=1;i<=n;i++) { scanf("%lf",&mass[i]); g[i]=min(static_cast
      
       (i*a+1e-7),n); } for(i=1;i<=n;i++) { if(i<=t) { for(j=g[i];j;j--) ans[i]+=mass[i]*mass[j]/(i-j); } else { ans[i]=mass[i]*ans[i-t]/mass[i-t]*(i-t-g[i-t]/2)/(i-g[i-t]/2); for(j=g[i];j>g[i-t];j--) ans[i]+=mass[i]*mass[j]/(i-j); } } for(i=1;i<=n;i++) printf("%.6lf\n",ans[i]); } 
      
     
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇BZOJ 1009 HNOI2008 GT考试 KMP算.. 下一篇UVA11770 - Lighting Away

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·“我用Java 8”已成 (2025-12-26 11:19:54)
·下载 IntelliJ IDEA (2025-12-26 11:19:52)
·Java是什么?(通俗 (2025-12-26 11:19:49)
·雾里看花:真正意义 (2025-12-26 10:54:36)
·C++——模板(超详细 (2025-12-26 10:54:34)