1011: [HNOI2008]遥远的行星

Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special Judge
Submit: 2241  Solved: 793
[Submit][Status]

Description

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

Input

第一行两个整数N和A. 1<=N<=10^5.0.01< a < =0.35 
接下来N行输入N个行星的质量Mi,保证0<=Mi<=10^7

Output

N行,依次输出各行星的受力情况

Sample Input

5 0.3
3
5
6
2
4

Sample Output

0.000000
0.000000
0.000000
1.968750
2.976000

HINT

精确结果应该为0 0 0 2 3,但样例输出的结果误差不超过5%,也算对

Source

题解:呵呵呵呵呵。。。感觉自己真心捉鸡——
从来就只知道只有物理竞赛化学竞赛里面会用近似处理,没想到这里也近似。
大致思路就是先进行分段处理,然后小的部分暴力,大的部分近似处理,有效的利用了题目中所给的误差不超过5%呵呵哒^_^
接下来开始引用(感觉省选现场能A掉此题的都是神OTL,这个近似真心略诡异啊)

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

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

 1 /**************************************************************
 2     Problem: 1011
 3     User: HansBug
 4     Language: Pascal
 5     Result: Accepted
 6     Time:2296 ms
 7     Memory:1984 kb
 8 ****************************************************************/
 9
10 const st=50;
11 var
12     i,j,k,l,m,n:longint;
13     p:extended;
14     b,c:array[0..100010] of longint;
15     a:array[0..100010] of extended;
16 begin
17     readln(n,p);
18     for i:=1 to n do read(b[i]);
19     readln;
20     for i:=1 to n do c[i]:=trunc(i*p);
21     for i:=1 to n do
22         begin
23             if a[i]<>0 then a[i]:=0;
24             if c[i]<>0 then
25                 begin
26                     if i<=st then
27                         begin
28                             for j:=1 to c[i] do a[i]:=a[i]+b[j]/(i-j);
29                             a[i]:=a[i]*b[i];
30                         end
31                     else
32                         begin
33                             a[i]:=(a[i-st]/b[i-st])*((i-st-(c[i-st]/2))/(i-(c[i-st]/2)));
34                             for j:=c[i-st]+1 to c[i] do a[i]:=a[i]+b[j]/(i-j);
35                             a[i]:=a[i]*b[i];
36                         end;
37                 end;
38         end;
39     for i:=1 to n do writeln(a[i]:0:6);
40     readln;
41 end.

转载于:https://www.cnblogs.com/HansBug/p/4311857.html

1011: [HNOI2008]遥远的行星相关推荐

  1. BZOJ 1011: [HNOI2008]遥远的行星

    1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special Judge Submit: 4814  Solve ...

  2. [BZOJ 1011][HNOI2008]遥远的行星(奇技淫巧)

    Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j= Mi*Mj/(j-i) 其中A为很小的常量, ...

  3. 【BZOJ 1011】 [HNOI2008]遥远的行星

    1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec   Memory Limit: 162 MBSec   Special Judge Submit: 2131   So ...

  4. [HNOI2008]遥远的行星

    https://www.luogu.org/problem/show?pid=3198 小于500的挨着算 大于的分母取平均值 #include<cstdio> using namespa ...

  5. [bzoj1011] [HNOI2008]遥远的行星

    Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) 其中A为很小的常量,故 ...

  6. jdbc odbc java mysql数据库连接_Java数据库连接之配置ODBC数据源

    java使用JDBC-ODBC桥接连接SQLServer数据库需要配置ODBC数据源,配置步骤如下: 1.进入控制面板,找到管理工具 2.看到ODBC数据源,有64位和32位的,如果你的数据库是64位 ...

  7. OI 刷题记录——每周更新

    每周日更新 2016.05.29 UVa中国麻将(Chinese Mahjong,Uva 11210) UVa新汉诺塔问题(A Different Task,Uva 10795) NOIP2012同余 ...

  8. linux密码sha512解密,使用sha512算法加密linux密码

    深入浅出ExtJS 第五章 树形结构 5.1 TreePanel的基本使用 //树是一种非常典型的数据结构; 5.1.1 创建一棵树 //树控件有Ext.tree.TreePanel类定义,控件的名称 ...

  9. 2019.3.summary

    emmmm,把以前写的2b总结丢上来吧,不过应该也不会有人看QAQ (注:因为用txt写的,有一些公式打的很随意,放到markdown上公式自动排版,有可能会显示出错误!可在下方留言) 2019.2. ...

最新文章

  1. PostgreSQL 理解 template1 和 template0
  2. telnet 退出命令
  3. 奇怪-正则匹配的test函数
  4. java程序讲解_3、Java程序讲解
  5. MySQL备份与恢复——基于OUTFILE /LOAD DATA 逻辑备份恢复
  6. 教你用100多行写一个数据库(附源码)
  7. 初识Java中注解的分类
  8. C#操作 excel表格
  9. HttpClient 使用证书访问https站点
  10. 小事也能看出一个人的能力
  11. 团队作业4——第一次项目冲刺 FiRsT DaY
  12. android u盘加载_如何获取Android系统挂载U盘的路径
  13. 支持向量机(Vladimir Vapnik)
  14. 摸爬滚打DirectX11_day08——.X文件的导入
  15. 智慧工地农民工实名制管理系统
  16. wamp mysql_wamp中如何打开mysql
  17. linux系统读移动硬盘,在linux系统上识别与挂载移动硬盘数据
  18. omf多路径 oracle_OMF下Restore Oracle Datafile的优先级问题
  19. java定时器每月月末自动执行
  20. GeoServer 图层访问控制身份验证

热门文章

  1. Python 变量作用域与函数(4)
  2. 一个生成随机密码的WPF小程序
  3. 二线制、三线制、四线制,PT100,电桥
  4. 33款可用来抓数据的开源爬虫软件工具
  5. 你想了解的前端知识都在这里了
  6. 第七期 | 网约车司机的“捞偏门”手段:作弊抢单、空跑刷单
  7. Unity Shader 皮肤水滴效果
  8. IBM ThinkPad F11系统恢复完全技巧
  9. Jenkins骚操作第四章构建maven项目和Pipeline流水线项目构建
  10. 性能优化检测Instruments-time profile的使用