uva  10385

列出n-1个一元方程,对应成单峰函数,所以用三分求解即可。

#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std;
const int maxn = ; int N;
double L, vr[maxn], vk[maxn]; void init () {
for (int i = ; i <= N; i++) {
vr[i] = /vr[i] - /vk[i];
vk[i] = L/vk[i];
} for (int i = ; i < N; i++) {
vr[i] -= vr[N];
vk[i] -= vk[N];
}
} double f (double x) {
double ret = vr[] * x + vk[];
for (int i = ; i < N; i++)
ret = min(ret, vr[i] * x + vk[i]);
return ret;
} double tsearch (double l, double r) {
for (int i = ; i < ; i++) {
double p = l + (r - l) / ;
double q = r - (r - l) / ;
if (f(p) > f(q))
r = q;
else
l = p;
}
return l;
} int main () {
while (scanf("%lf%d", &L, &N) == ) {
for (int i = ; i <= N; i++)
scanf("%lf%lf", &vr[i], &vk[i]);
init();
double x = tsearch(, L);
if (f(x) < )
printf("The cheater cannot win.\n");
else
printf("The cheater can win by %.0lf seconds with r = %.2lfkm and k = %.2lfkm.\n", f(x) * , x, L-x);
}
return ;
}

铁人系列 (1) uva 10385的更多相关文章

  1. UVA 10385 - Duathlon(三分法)

    UVA 10385 - Duathlon 题目链接 题意:一些运动员,參加铁人两项,跑步r千米,骑车k千米,如今知道每一个人的跑步和骑车速度,问是否能设置一个r和k,保持r + k = t,使得第n个 ...

  2. 【三分搜索算法】UVa 10385 - Duathlon

    题目链接 题意:“铁人三项”比赛中,需要选手在t km的路程里进行马拉松和骑自行车项目.现有n名选手,每位选手具有不同的跑步速度和骑车速度.其中第n位选手贿赂了裁判员,裁判员保证第n名选手一定会取得冠 ...

  3. 铁人系列(2)LA2218

    思路:对于每个人  都会有n-1个半片面  加上x>0,y>0,1-x-y>0(这里的1抽象为总长) 代码是粘贴的  原来写的不见了  orz............ // LA22 ...

  4. UVA 10385 Duathlon

    Problem HDuathlonInput: standard inputOutput: standard outputTime Limit: 15 seconds A duathlon is a ...

  5. [铁人赛] ASP.NET Core 2 系列- 从头开始

    来势汹汹的.NET Core似乎要取代.NET Framework,ASP.NET也随之发布.NET Core版本.虽说名称沿用ASP.NET,但相较于ASP.NET确有许多架构上的差异,可说是除了名 ...

  6. 【巧妙算法系列】【Uva 11464】 - Even Parity 偶数矩阵

    偶数矩阵(Even Parity, UVa 11464) 给你一个n×n的01矩阵(每个元素非0即1),你的任务是把尽量少的0变成1,使得每个元素的上.下.左.右的元素(如果存在的话)之和均为偶数.比 ...

  7. 【巧妙算法系列】【UVA 11384】 Help is needed for Dexter 正整数序列

    Help is needed for Dexter Time Limit: 3 Second Dexter is tired of Dee Dee. So he decided to keep Dee ...

  8. Uva 10007 / HDU 1131 - Count the Trees (卡特兰数)

     Count the Trees  Another common social inability is known as ACM (Abnormally Compulsive Meditation) ...

  9. UVA 11983 Weird Advertisement(线段树求矩形并的面积)

    UVA 11983 题目大意是说给你N个矩形,让你求被覆盖k次以上的点的总个数(x,y<1e9) 首先这个题有一个转化,吧每个矩形的x2,y2+1这样就转化为了求N个矩形被覆盖k次以上的区域的面 ...

随机推荐

  1. hibernate对象关系实现(二)一对一

    双向一对一以部门和经理为例: a.部门和经理类中各自由对方的引用:(省略了get/set方法) b.数据库两种方式实现:一种(b.1)是外键映射,并将外键添加唯一约束(至于哪个对象的主键做外键,可随意 ...

  2. 操作符 Thinking in Java 第三章

    3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 *int类型+String类型  直接转换为String类型 3.4 赋值 1. *引用=引用  两个引用指向同一个对象,所以操作 ...

  3. JAVA使用POI读取EXCEL文件的简单model

    一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...

  4. JavaWeb学习总结(四)—ServletConfig和ServletContext

    一.ServletConfig 1. ServletConfig介绍: ServletConfig是Servlet中的init()方法的参数类型,服务器会在调用init()方法时传递ServletCo ...

  5. surfaceview介绍

    [1]surfaceview 控件是一个重量级控件      [2]内部维护了2个线程     A 获取数据  负责显示     B 负责显示  获取数据      [3]他可以直接在子线程更新ui ...

  6. Android最佳性能实践(二)——分析内存的使用情况

    由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内.虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存. ...

  7. final运用于内部类访问局部变量

    final运用于内部类访问局部变量 public void mRun( final String name){ new Runnable() { @Override public void run() ...

  8. datagrid实现行的上移和下移

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. word双栏排版,最后一页由于分节符造成最后一页是空白页,删除分节符双栏就变成了单栏

    遇到这个问题时,我们把心思都花在了如何“删除”这个空白页. 但是最有效的办法不是“删除”,而是(以word2007为例): Word 2007中文版: 鼠标放在最后一页,点击页面布局①,选择页面布局右 ...

  10. python and java

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:kula链接:http://www.zhihu.com/question/29690505/answer/67149864来源 ...