题干:
最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心。假设地域飞龙会对距离为d的敌人每秒造成k/d2k/d^2伤害。假设地域飞龙位于坐标轴原点,以每秒v1的速度向y轴正方向移动,敌人在(x,0)的位置,以每秒v2的速度向x轴负方向移动。问,敌人至少有多少血量永远才不会被地狱飞龙喷死。(伤害是连续造成的,不是一秒一秒间断的)

题解:
我们根据题意,设时间为t,x1为飞龙距离x轴的距离,x2为敌人距离y轴的距离,那么x1=v1∗tx1 = v1*t,x2=x−v2∗tx2 = x-v2*t,人和龙之间的距离为d=x12+x22−−−−−−−−√d = \sqrt{x1^2 + x2^2} ,所以伤害y=k/(x12+x22)=k/(v12∗t2+(x−v2∗t)2)y = k/(x1^2 + x2^2) = k/(v1^2*t^2 + (x-v2*t)^2) ,对y求定积分,范围是0到正无穷大。
这时候就要用到一个求积分的万能公式,辛普森公式。

直接看代码就可以明白:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <stack>
#include <bitset>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <algorithm>
using namespace std;
#define clr(a,b) memset(a,b,sizeof(a))
#define pb(a) push_back(a)
#define fir first
#define se second
#define LL long long
typedef pair<int,int> pii;
typedef pair<LL,int> pli;
typedef pair<LL,LL> pll;
const int maxn = 1e5+5;
const int inf = 0x3f3f3f3f;
LL mod = 1e9+7;
double eeps = 0.00000001;  //设置精度需要,按需要设置,太小会超时!
double PI = acos(-1);double k,v1,v2,x;double F(double t){   //这里输入你的公式double ans;ans = k/((v1*t)*(v1*t) + (x-v2*t)*(x-v2*t));return ans;
}
double simpson(double a, double b){  double c = a + (b-a)/2.0;  return (F(a) +4*F(c) + F(b)) * (b-a) / 6.0;
}
double asr(double a, double b, double eps, double A){  double c = a + (b-a) / 2.0;  double L = simpson(a, c), R = simpson(c, b);  if(fabs(L+R-A) <= 15*eps) return L+R+(L+R-A)/15.0;  return asr(a, c, eps/2.0, L) + asr(c, b, eps/2.0, R);
}
double asr(double a, double b, double eps){  return asr(a, b, eps, simpson(a,b));
}  int main() {//freopen("in.txt","r",stdin);//freopen("out1.txt","w",stdout);int t,dd = 1;cin>>t;while(t--) {cin>>v1>>v2>>x>>k;double ans  =  asr(0,1000000.0,eeps); //这里定义范围即可printf("%.2f\n",ans);}
}

2017杭电ACM集训队单人排位赛 - 2 -1002 地狱飞龙 (辛普森公式求积分)(模板)相关推荐

  1. 2017杭电ACM集训队单人排位赛 - 1(ALL题解)

    A. 看日出 看日出 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  2. 2017杭电ACM集训队单人排位赛 - 2 饶学妹的比赛

    饶学妹的比赛 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  3. HDU - 2018杭电ACM集训队单人排位赛 - 1 - Problem C. 狙击敌人

    Problem C. 狙击敌人 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) ...

  4. 2018杭电ACM集训队单人排位赛 - 1Problem A. 内蒙创业

    Problem A. 内蒙创业 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) ...

  5. 杭电acm第2304题答案c语言,【转】杭电ACM试题分类

    注:网上搜的 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 ...

  6. 杭电ACM题目类型整理

    版权声明:(╯3╰) 转载请注明: http://blog.csdn.net/bat67 杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 10 ...

  7. 杭电acm2151题java的解法,杭电ACM题型分类

    杭电ACM题型分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1 ...

  8. 杭电ACM(HDUOJ)试题分类

    杭电ACM试题分类 第一篇 1001 这个就不用说了吧                      1002 简单的大数                            1003 DP经典问题,最 ...

  9. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

最新文章

  1. java实现fread_fread函数读取到的数据和实际数据不一样
  2. js base64 解码
  3. 第2章 基本的TCP套接字
  4. 实现微服务架构-微服务架构需要解决的问题
  5. 使用FreeRTOS进行性能和运行时分析
  6. Qt5制作icon图标文件和发布程序简易介绍
  7. 猜数游戏用Python应该这样写
  8. org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result
  9. 动态规划 钢条切割问题
  10. 【推荐系统】推荐系统中的图网络模型
  11. Android实现多条Toast快速显示(强制中止上一条Toast的显示)
  12. mysqli 语句和mysql语句一样吗_mysqli语句的用法
  13. 计算机搜索不到PDF,PDF能打印吗,pdf虚拟打印机找不到
  14. 【记录】在新电脑安装Ubuntu16.04系统并移植虚拟机中catkin_ws过程
  15. vant area地区选择组件使用方法
  16. 超详细的程序员未来职业发展路线
  17. Joel Spolsky给计算机专业学生的七个建议
  18. 【20170706】保卫萝卜
  19. 登入联机服务器失败怎么 修复,元气骑士连接服务器失败 连接不上网络怎么办...
  20. 【NeurIPS100】谷歌、Facebook、斯坦福等十篇机器学习最新论文解读

热门文章

  1. [Python] 制作超级玛丽游戏
  2. java find()_java 之 find 命令
  3. 提高晚上学习效率的11个方法
  4. html中将文字设置成红色,怎样用css将文字改为红色?
  5. Linux 驱动开发 六十四:《pwm-backlight.txt》翻译
  6. scp拷贝多个小文件
  7. linux定时执行sh文件
  8. b2DebugDraw到底是什么
  9. jupyter notebook 用PPT展示代码 +插入图片
  10. 写出优雅性能的JAVA程序必须遵守的35个原则