二分,判断的时候,一个点一个点的考虑肯定是不行啦,考虑的单位是一个区间,

每次左端点尽量向左边移动,右端点尽量向右,得到下次可以达到的范围,检查一下和下一个区间有没有交集。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+5, maxns = 1e6+5;
double x[maxn],y[maxn];
double W,vh;
int N;
int S[maxns];
bool ok(int s)
{double lm = x[0], rm = x[0]+W;for(int i = 1;i < N; i++){double t = (y[i]-y[i-1])/s;lm -= t*vh; rm += t*vh;if(rm < x[i] || lm > x[i]+W) return false;lm = max(lm,x[i]); rm = min(rm,x[i]+W);}return true;
}int main()
{//freopen("in.txt","r",stdin);int T; scanf("%d",&T);while(T--){scanf("%lf%lf%d",&W,&vh,&N);for(int i = 0; i < N; i++) scanf("%lf%lf",x+i,y+i);int ns; scanf("%d",&ns);for(int i = 0; i < ns; i++) scanf("%d",S+i);sort(S,S+ns);if(!ok(S[0])) { puts("IMPOSSIBLE") ;continue;}int l = 0, r = ns-1, m;for(;S[l]<S[r]; ok(S[m])?l=m:r=m-1 ) m = (l+r+1)>>1;printf("%d\n",S[l]);}return 0;
}

转载于:https://www.cnblogs.com/jerryRey/p/4809996.html

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. 障碍滑雪比赛(Slalom,UVa 11627)

    AC通道: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  3. UVA - 11478 Halum 二分+差分约束

    题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34651 题意: 给定一个有向图,每一条边都有一个权值,每次你可以 ...

  4. 紫书 例题8-10 UVa 714 (二分答案)

    这道题让最大值最小, 显然是二分答案 当题目求的是最大值最小, 最小值最大, 这个时候就要想到二分答案 为什么可以二分答案呢, 因为这个时候解是单调性的, 如果简单粗暴一点 就全部枚举一遍, 验证答案 ...

  5. 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)

    参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久 ...

  6. UVa 10635 (LIS+二分) Prince and Princess

    题目的本意是求LCS,但由于每个序列的元素各不相同,所以将A序列重新编号{1,2,,,p+1},将B序列重新编号,分别为B中的元素在A中对应出现的位置(没有的话就是0). 在样例中就是A = {1 7 ...

  7. 《算法竞赛入门经典——训练指南》第一章相关内容

    #<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...

  8. #《算法竞赛入门经典》勘误

    转自http://code.google.com/p/aoapc-book/wiki/BeginningAlgorithmContestsErrata #<算法竞赛入门经典>勘误 关于勘误 ...

  9. POJ 3525/UVA 1396 Most Distant Point from the Sea(二分+半平面交)

    Description The main land of Japan called Honshu is an island surrounded by the sea. In such an isla ...

最新文章

  1. 阿联酋阿布扎比人工智能大学招收全奖博士,年薪20.9W
  2. [afterCode] docker 速成班 3: 使用 container 中的功能
  3. pyinstaller打包py文件生成的exe出现闪退问题
  4. 在Java中使用可信时间戳
  5. springmvc 配置 fastjson解析器
  6. 重根迭代法解方程(两种方法)(Python实现)
  7. python字典遍历的4种方法
  8. php使用openssl进行Rsa长数据加密,解密保存问题
  9. Linux学习笔记-消息队列的接收
  10. MyBatis框架 基本配置及运行原理
  11. NCrawler爬取中文网页时乱码问题的解决方法
  12. BZOJ.4650.[NOI2016]优秀的拆分(后缀数组 思路)
  13. DOM事件流三个阶段
  14. 简单介绍——【汇总统计数据】工具(ArcMap)
  15. java Vector 在多线程使用中需要注意的问题
  16. 麻雀虽小五脏俱全----blender介绍
  17. mysql购买服务_云数据库MySQL购买须知
  18. Arduino案例实操 -- 智能巡防小车(四)火焰检测功能扩展
  19. java from space to space_快速定位Java 内存OOM的问题
  20. AlexNet论文翻译(中英文对照版)-ImageNet Classification with Deep Convolutional Neural Networks

热门文章

  1. 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...
  2. 从oracle10g 10.2.0.1 升级到10.2.0.4碰到的问题及解决
  3. spring3.0设置定时任务
  4. 梯度下降的线性回归用python_运用TensorFlow进行简单实现线性回归、梯度下降示例...
  5. UVA11389巴士司机问题
  6. 【算法】哈希表 ( 两数之和 )
  7. 【组合数学】排列组合 ( 排列组合示例 )
  8. css之line-height及图片文字垂直居中
  9. ThinkPHP 中M方法和D方法的具体区别
  10. 点击文字label同时选中checkbox radio