题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P3

第八集,体能训练

TimeLimit:1000MS  MemoryLimit:128MB
64-bit integer IO format:%I64d
Problem Description

小A和小C跋山涉水,终于来到了特工们要聚集的城市,他们俩在附近找了家宾馆住下。这时,距离特工们聚会的时间越来越近了,是时候来一波体能训练,以防遇到危险,跑得太慢了,被抓住了,就GG了…

于是,小A和小C一起来到了宾馆附近的体育馆的环形操场上跑步,起先,他们两个人约定,一开始他们两个人从同一点,反方向跑步,每次两个人面对面相遇的话,第k次相遇则需要休息k秒,然后再各自往反方向按照原本的速度继续跑步。现在,告诉你操场长度是L,小A和小C的跑步速度分别是Va和Vc 。这时候,问题来了,询问你经过k秒,输出他们相遇的次数、

由于两个人的体力有限,他们两个人约定相遇10000次就不跑了、

Input

有多组测试案例,

每组测试案例,第一行输入三个正整数,L,Va和Vc(1<=Va,Vc<=10,1<=L<=1000)。

第二行输入一个Q(Q<=10000),表示询问的次数。

接下来有Q行,每一行输入一个正整数k(1<=k=10^9),表示询问经过k秒后,他们相遇了多少次、

Output

对于每次询问的时间,输出他们相遇的次数、

SampleInput
2 1 1
8
0
1
3
10
20
21
5000000
511768840
SampleOutput
0
1
2
4
5
6
3161
10000 思路:首先,这是一个二分题,他们每跑一圈的时间是L/(va+vc),每次休息的时间会随着相遇的次数增加,随着相遇次数增加消耗的时间是个等差数列。
这样我们可以得出第n次相遇的时候用的时间为:n*L/(va+vc)+(n+1)*n/2-n,这里最后的-n是因为第n次相遇的时候,他们还没有第n次休息,所以要把前面等差数列求和公式里的多算的一次n减去。
这里n是个二次函数,通过对这个方程分析,我们可以知道这里一定是取右边的解,这里有两种解法。
1、二分法求解:
也没什么要注意的,找到对应的方程后就是很明显也很常规的二分题,计算时候要注意转换成浮点运算。
2、解方程求解:
特别丑的解方程出来的结果附上:
ans=1/2.0-l*1.0/(va+vc*1.0)+sqrt((l*1.0/(va+vc*1.0)-1/2.0)*(l*1.0/(va+vc*1.0)-1/2.0)+2*k)

因为浮点数运算可能会有运算误差,比如6/3有可能会出现1.999999999的情况,所以需要加一个很小的数来补误差,我输出答案的时候是加了0.000001的。

FJUT16级第一周寒假作业题解D题的更多相关文章

  1. FJUT16级第一周寒假作业题解J题

    题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P9 涨姿势之区间刷新 TimeLimit:2000MS  MemoryLimit:128M ...

  2. FJUT16级第一周寒假作业题解I题

    涨姿势题3 TimeLimit:1000ms  MemoryLimit:128000KB 64-bit integer IO format:%lld Problem Description 涨姿势题就 ...

  3. FJUT16级第一周寒假作业题解G题

    题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P6 涨姿势题1 TimeLimit:1000MS  MemoryLimit:128000K ...

  4. 16级第一周寒假作业F题

    Subsequence TimeLimit:1000MS  MemoryLimit:65536K 64-bit integer IO format:%lld Problem Description A ...

  5. 福建工程学院16级第一周寒假作业E题----第七集,奇思妙想

    第七集,奇思妙想                                                                                            ...

  6. 16级第二周寒假作业E题

    Home_W的位运算4 TimeLimit:2000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d Problem Description 给 ...

  7. 16级第二周寒假作业H题

    快速幂(三) TimeLimit:2000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d Problem Description 计算( AB ...

  8. FJUT第三周寒假作业《第九集,离间计》栈

    第九集,离间计 TimeLimit:1000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d   Problem Description 拥有了 ...

  9. 第一周pta作业2

    7-2 求最大值及其下标 (20 分) 本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始). 输入格式: 输入在第一行中给出一个正整数n(1<n≤10).第二行输入n ...

随机推荐

  1. Tomcat启动出现:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMvc]]解决办法

    严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component ...

  2. c的文件流读取

    strtok(数组,分隔符); atof(数组)返回值为转换后的数字; fgets(数组指针,长度,文件句柄); 整整花了两天啊

  3. MYSQL索引的类型和索引的方式

    索引的类型: normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索 ...

  4. opencv 离线文档下载地址在哪里?

    OpenCV 官方离线文档下载地址:http://docs.opencv.org/ 如何生成离线文档? http://docs.opencv.org/master/d4/db1/tutorial_do ...

  5. 使用CrashHandler来获取应用的crash信息

    源码地址https://github.com/king1039/android-art-res/tree/master/Chapter_13/CrashTest/src/com/ryg/crashte ...

  6. [Code] 中缀式转后缀式

    [Code] 中缀式转后缀式 概要 对于一个可带括号的中缀四则运算表达式, 例如30 + 4 / 2 或 30 / ( 4 + 2 ), 下面代码将分别转换为对应的后缀表达形式 30 4 2 / + ...

  7. 子沐代码段——Flask+Mysql+Echarts可视化

    前言 子沐不久前,使用Scrapy爬取了智联招聘的职位数据,并部署到服务器上,设置了定时任务.数据量日益庞大.子沐在想,数据不过只是存在数据库里,并没有什么意义,所以子沐萌发一个想法,那就是做一个可视 ...

  8. Windows平台监听服务无法启动报报TNS-12560 TNS-00530案例

      在Windows Server 2012平台使用命令启动监听服务时遇到了TNS-12560 & TNS-00530错误. C:\Users>lsnrctl start GEW_LIS ...

  9. ORACLE NLS_DATE_FORMAT设置

      最近在ORACLE里面设置NLS_DATE_FORMAT日期时间格式时遇到了一些问题,顺便整理一下.以防以后忘记时,能顺速翻阅. 1:在会话级别设置nls_date_format对应的日期格式. ...

  10. 浏览器通过Scheme协议启动APP中的页面

    在APP开发过程中,通过外部浏览器调起APP页面的场景也很普遍使用.下面就介绍一下通过外部H5页面唤起APP中页面的通用方法. 1.首先需要在AndroidMainifest.xml中对你要启动的那个 ...