题目链接:http://218.28.220.249:50015/JudgeOnline/problem.php?id=1261

题目描述

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

输入

第一行为数据组数T(<=T<=)
每组数据一行,包含4个实数,分别为v1,v2,x,k(≤v1,v2,x,k≤)。 输出 每组数据输出一行,为敌人最小血量,结果保留2为有效数字. 样例输入 样例输出 2.36

题意就不用说了

方法:先找出伤害值与时间t之间的函数关系f(t) = k/((v1*t)^2+(x-v2*t)^2);对这个函数求不定积分,求出在时间0到时间+00的时间内伤害值总和。式子化简为k/((v1^2+v2^2)*t^2-2*x*v2*t+x^2)对t求不定积分

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<queue>
#include<vector>
#include<map>
#include<math.h>
using namespace std;
#define INF 0x3f3f3f3f
#define LL long long
#define N 100006
#define PI acos(-1)
int main()
{
int T;
scanf("%d",&T);
double v1,v2,x,k;
while(T--)
{
scanf("%lf %lf %lf %lf",&v1,&v2,&x,&k);
///由不定积分1/a*t^2+b*t+c算出a,b,c
double a = v1*v1+v2*v2;
double b = *x*v2*-;
double c = x*x;
if(b*b<*a*c)
{
///当b^2<4ac时,求积分为2/sqrt(4ac-b^2)*arctan(2at+b)/sqrt(4ac-b^2)+C;
double kk = sqrt(4*a*c-b*b);
double s0 = 2.0*atan(b*1.0/kk)/kk;///当t=0;
double s1 = PI*1.0/kk;///当t为+00;
printf("%.2f\n",(s1-s0)*k);
}
else
{
///当b^2>4ac时,求积分为1/sqrt(b^2-4ac)ln|2at+b-sqrt(b^2-4ac)/(2at+b+sqrt(b^2-4ac))|+C;
double kk = sqrt(b*b-*a*c);
double s0 = log(fabs((b-kk)*1.0/(b+kk)))*1.0/kk;///当t=0;
double s1 = 0.0;///当t为+00;
printf("%.2f\n",(s1-s0)*k);
}
}
return ;
}

(haut oj 1261 ) 地狱飞龙 利用不定积分求值的更多相关文章

  1. HAUT 1261地狱飞龙 自适应辛普森 数值积分

    1261: 地狱飞龙 时间限制: 1 秒  内存限制: 64 MB 提交: 300  解决: 68 题目描述 最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心.假设地域飞龙会对距离为d的敌 ...

  2. php实现用短路求值原理求1+2+3+...+n(短路求值是什么)(仔细分析题干)

    php实现用短路求值原理求1+2+3+...+n(短路求值是什么)(仔细分析题干) 一.总结 1.仔细分析题干,找出要点:该递归还是得递归啊 2.短路求值原理:&&就是逻辑与,逻辑与有 ...

  3. Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

    前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...

  4. 利用栈实现算术表达式求值(Java语言描述)

    利用栈实现算术表达式求值(Java语言描述) 算术表达式求值是栈的典型应用,自己写栈,实现Java栈算术表达式求值,涉及栈,编译原理方面的知识.声明:部分代码参考自茫茫大海的专栏. 链栈的实现: pa ...

  5. 利用BFS求最短路

    利用BFS求图的最短路, POJ3984 #define _CRT_SECURE_NO_DEPRECATE #include<iostream> #include<string.h& ...

  6. [笔记]ACM笔记 - 利用FFT求卷积(求多项式乘法)

    卷积 给定向量:, 向量和: 数量积(内积.点积): 卷积:,其中 例如: 卷积的最典型的应用就是多项式乘法(多项式乘法就是求卷积).以下就用多项式乘法来描述.举例卷积与DFT. 关于多项式 对于多项 ...

  7. 利用arguments求任意数量数字的和/最大值/最小值

    文章地址 https://www.cnblogs.com/sandraryan/ arguments是函数内的临时数据,用完销毁,有类似于数组的操作,但不是数组. 举个栗子1:利用arguments求 ...

  8. 乒乓球队比赛,甲队有abc三人,乙队有xyz三人。 抽签得出比赛名单:a不和x比,c不和x,z比, 利用集合求出比赛名单

    import java.util.HashMap; import java.util.Map; /** * 乒乓球队比赛,甲队有abc三人,乙队有xyz三人. * 抽签得出比赛名单:a不和x比,c不和 ...

  9. C++表达式求值(利用数据结构栈)

    唉,刚刚用C++又又一次写了一个较完好的表达式求值程序,最后精简后程序还不到100行.这不经让我 想到了大一上学期刚学c语言时自己费了好大的劲,写了几百行并且功能还不是非常齐全(当时还不能计算有括号的 ...

随机推荐

  1. SpringBoot系列——Spring-Data-JPA(升级版)

    前言 在上篇博客中:SpringBoot系列——Spring-Data-JPA:https://www.cnblogs.com/huanzi-qch/p/9970545.html,我们实现了单表的基础 ...

  2. [心得] 如何利用liquibase進行資料庫版本控制 - 實際練習

    透過上一篇的基本觀念介紹,希望大家應該有一點點感覺了! 這篇我們就來做個簡單的版本演練,加深印象吧! 我使用的環境如下 System : Windows 7 Database : SQL Server ...

  3. sublime 使用快捷键

    Goto Anything  快捷键 Ctrl+P (支持模糊匹配) 1,查找文件   在查找框中输入文件目录(知道目录直接输入目录,不知道目录直接输入页面名称即可.支持模糊匹配)  index.ht ...

  4. 过滤器(Filter)和拦截器(Interceptor)

    过滤器(Filter) Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序.它依赖于servlet容器,在实现上,基于函数回调,它可以对几乎所有请求 ...

  5. Django验证码【附源码】

    一.安装依赖 CentOS 第一步: yum install python-devel 第二步: yum install freetype-devel libjpeg-devel libpng-dev ...

  6. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  7. 安卓开发:UI组件-Button和EditText

    2.3Button Button继承自TextView,除了通过属性设置按钮样式,还可以通过绑定drawable文件的方式来实现不同样式. 2.3.1按钮样式 新建Activity:ButtonAct ...

  8. 【Linux】【Java】CentOS7安装最新版Java1.8.191运行开发环境

    1.前言 本来在写[Linux][Apatch Tomcat]安装与运行.都快写完了. 结果...我忘记安装 Java 环境 然后...新开了博客编辑页面. 最后...我的那个没了...没了...真的 ...

  9. [Web][高中同学毕业分布去向网站+服务器上挂载]二、敲定思路与方向(HTML5+JS(JQuery+ECharts))

    高中同学毕业分布网站:敲定思路 一.背景 第一集:http://www.cnblogs.com/Twobox/p/8368121.html 中大体确定了自己的 大体目标.大体思路. 但是 . 在今天的 ...

  10. 07-Vue的基础使用

    vue的介绍 前端框架和库的区别 nodejs的简单使用 vue的起步 指令系统 组件的使用 过滤器的使用 watch和computed 钩子函数 渐进式的JavaScript框架 vue react ...