题意:

有宽度相同的水平的n个旗门,水平(纵坐标严格递增)滑行的最大速度为Vh(水平速度可以任意调节)。然后还有S双滑雪板,每双滑雪板的垂直速度一定。

然后求能通过的滑板鞋的最大速度。

分析:

显然,滑雪板的速度越小越容易通过所有的旗门。然后二分找出这个能通过旗门的最大值,最后在滑雪板里面找出这个范围的最大值。

如何判断某个速度可以通过所有的旗门:

第一个旗门处起点可以是任意的,到达第二个旗门的垂直高度时有一个范围,然后和第二个旗门的宽度的范围求交集。如果为∅,则不能通过。否则,继续求到达下一个高度的范围,再和第三个旗门的范围求交集。

在敲代码的过程中,judge函数WA掉了,后来看的别人的写法过的。浮点运算尽是坑啊,Orz

 //#define LOCAL
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; const int maxn1 = + ;
const int maxn2 = + ;
int w, vx, n;
int x[maxn1], y[maxn1], s[maxn2]; bool judge(int vy)
{
int i,j;
double x1,x2;
x1=x[];
x2=x[] + w;
for(i = ; i < n; i++)
{
double d = vx*1.0*(y[i] - y[i-]) / vy;
x1 -= d,x2 += d;
x1 = max(x1, x[i]*1.0);
x2 = min(x2, (x[i] + w)*1.0);
if(x1 - x2>1e-)
{
return false;
}
}
return true;
} int main(void)
{
#ifdef LOCAL
freopen("11627in.txt", "r", stdin);
#endif int T, m, i;
scanf("%d", &T);
while(T--)
{
scanf("%d%d%d", &w, &vx, &n);
for(int i = ; i < n; ++i)
scanf("%d%d", &x[i], &y[i]); int L = , R = maxn2;
while(L < R)
{
int mid = L + (R - L + ) / ;
if(judge(mid)) L = mid;
else R = mid - ;
} int ans = ;
scanf("%d", &m);
for(i = ; i < m; ++i)
{
int x;
scanf("%d", &x);
if(x <= L)
ans = max(ans, x);
}
if(ans)
printf("%d\n", ans);
else
puts("IMPOSSIBLE");
}
return ;
}

代码君

UVa (二分) 11627 Slalom的更多相关文章

  1. UVa 11627 - Slalom 二分. oj错误题目 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  2. UVA 11627 Slalom(二分)

    二分,判断的时候,一个点一个点的考虑肯定是不行啦,考虑的单位是一个区间, 每次左端点尽量向左边移动,右端点尽量向右,得到下次可以达到的范围,检查一下和下一个区间有没有交集. #include<b ...

  3. UVa 714 Copying Books(二分)

    题目链接: 传送门 Copying Books Time Limit: 3000MS     Memory Limit: 32768 KB Description Before the inventi ...

  4. UVA 10816 + HDU 1839 Dijstra + 二分 (待研究)

    UVA 题意:两个绿洲之间是沙漠,沙漠的温度不同,告诉起点,终点,求使得从起点到终点的最高温度最小的路径,如果有多条,输出长度最短的路径: 思路:用最小费用(最短路径)最大流(最小温度)也能搞吧,但因 ...

  5. 10年省赛-Greatest Number (二分+暴力) + 12年省赛-Pick apples(DP) + UVA 12325(暴力-2次枚举)

    题意:给你n个数,在里面取4个数,可以重复取数,使和不超过M,求能得到的最大的数是多少: 思路:比赛时,和之前的一个题目很像,一直以为是体积为4(最多选择四次)的完全背包,结果并不是,两两求和,然后二 ...

  6. uva 1422 - Processor(二分+优先队列)

    题目链接:uva 1422 - Processor 题目大意:有一个机器要处理一些问题,给出这些问题可以开始的时间和必须完成的时间,以及任务的工作量,问说机器必须以最少每秒多少得工作量才能完成这些任务 ...

  7. UVA 10668 - Expanding Rods(数学+二分)

    UVA 10668 - Expanding Rods 题目链接 题意:给定一个铁棒,如图中加热会变成一段圆弧,长度为L′=(1+nc)l,问这时和原来位置的高度之差 思路:画一下图能够非常easy推出 ...

  8. UVA 10341 Solve It 解方程 二分查找+精度

    题意:给出一个式子以及里面的常量,求出范围为[0,1]的解,精度要求为小数点后4为. 二分暴力查找即可. e^(-n)可以用math.h里面的exp(-n)表示. 代码:(uva该题我老是出现Subm ...

  9. uva 1335 - Beijing Guards(二分)

    题目链接:uva 1335 - Beijing Guards 题目大意:有n个人为成一个圈,其中第i个人想要r[i]种不同的礼物,相邻的两个人可以聊天,炫耀自己的礼物.如果两个相邻的人拥有同一种礼物, ...

随机推荐

  1. Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 8

    Refer :http://www.cnblogs.com/mengfanrong/p/3745475.html Righ click on your project > properties ...

  2. 金融证券协议FIX/FAST/STEP

    金融信息交换协议FIX是适用于实时证券.金融电子交易的数据通信标准.它是把各类证券金融业务需求流程格式化,使之成为一个可用计 算机语言描述的功能流程,并在每个业务功能接口上统一交换格式.STEP(Se ...

  3. MapReduce数据流向分析

    MR数据流向示意图 步骤 1 输入文件从HDFS流向Mapper节点.在一般情况下,map所需要的数据就存在本节点,这就是数据本地化计算的优势,但是往往集群中数据分布不均衡(1000台节点,数据冗余度 ...

  4. js 阻止冒泡 兼容性方法

    function customstopPropagation(e){ var ev = e || window.event; if (ev.stopPropagation) { ev.stopProp ...

  5. ubuntu下安装nodejs

    前言 继前几天在wins环境下使用cygwin模拟器安装nodejs出现了一些问题后,今天我决定在ubuntu下安装nodejs,安装过程非常顺利,没有报错,看来还是linux环境给力啊,由于刚接触l ...

  6. PYTHON发送邮件时,有的服务器不用密码认证的

    #!/usr/bin/python # coding: UTF-8 import smtplib from email.mime.text import MIMEText receivers_list ...

  7. WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发

    今天我们继续WCF分布式开发步步为赢(3)WCF服务元数据交换.配置及编程开发的学习.经过前面两节的学习,我们了解WCF分布式开发的相关的基本的概念和自定义宿主托管服务的完整的开发和配置过程.今天我们 ...

  8. DFS+剪枝 HDOJ 5323 Solve this interesting problem

    题目传送门 /* 题意:告诉一个区间[L,R],问根节点的n是多少 DFS+剪枝:父亲节点有四种情况:[l, r + len],[l, r + len - 1],[l - len, r],[l - l ...

  9. 国内银行CNAPS CODE 查询 苹果开发者,应用内购,需要填写税务相关信息必须的

    https://e.czbank.com/CORPORBANK/QYUK http://weekend.blog.163.com/blog/static/746895820127961346724/

  10. 安卓app缓存设置

    无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户. Android的apk可以说是作为小型应用,其中99%的应用并不是需要实时更新的,而且诟病于蜗牛 ...