UVA 11627 Slalom(二分)
二分,判断的时候,一个点一个点的考虑肯定是不行啦,考虑的单位是一个区间,
每次左端点尽量向左边移动,右端点尽量向右,得到下次可以达到的范围,检查一下和下一个区间有没有交集。
#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(二分)相关推荐
- UVa 11627 - Slalom 二分. oj错误题目 难度: 0
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- 障碍滑雪比赛(Slalom,UVa 11627)
AC通道: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...
- UVA - 11478 Halum 二分+差分约束
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34651 题意: 给定一个有向图,每一条边都有一个权值,每次你可以 ...
- 紫书 例题8-10 UVa 714 (二分答案)
这道题让最大值最小, 显然是二分答案 当题目求的是最大值最小, 最小值最大, 这个时候就要想到二分答案 为什么可以二分答案呢, 因为这个时候解是单调性的, 如果简单粗暴一点 就全部枚举一遍, 验证答案 ...
- 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)
参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久 ...
- UVa 10635 (LIS+二分) Prince and Princess
题目的本意是求LCS,但由于每个序列的元素各不相同,所以将A序列重新编号{1,2,,,p+1},将B序列重新编号,分别为B中的元素在A中对应出现的位置(没有的话就是0). 在样例中就是A = {1 7 ...
- 《算法竞赛入门经典——训练指南》第一章相关内容
#<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...
- #《算法竞赛入门经典》勘误
转自http://code.google.com/p/aoapc-book/wiki/BeginningAlgorithmContestsErrata #<算法竞赛入门经典>勘误 关于勘误 ...
- 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 ...
最新文章
- 阿联酋阿布扎比人工智能大学招收全奖博士,年薪20.9W
- [afterCode] docker 速成班 3: 使用 container 中的功能
- pyinstaller打包py文件生成的exe出现闪退问题
- 在Java中使用可信时间戳
- springmvc 配置 fastjson解析器
- 重根迭代法解方程(两种方法)(Python实现)
- python字典遍历的4种方法
- php使用openssl进行Rsa长数据加密,解密保存问题
- Linux学习笔记-消息队列的接收
- MyBatis框架 基本配置及运行原理
- NCrawler爬取中文网页时乱码问题的解决方法
- BZOJ.4650.[NOI2016]优秀的拆分(后缀数组 思路)
- DOM事件流三个阶段
- 简单介绍——【汇总统计数据】工具(ArcMap)
- java Vector 在多线程使用中需要注意的问题
- 麻雀虽小五脏俱全----blender介绍
- mysql购买服务_云数据库MySQL购买须知
- Arduino案例实操 -- 智能巡防小车(四)火焰检测功能扩展
- java from space to space_快速定位Java 内存OOM的问题
- AlexNet论文翻译(中英文对照版)-ImageNet Classification with Deep Convolutional Neural Networks
热门文章
- 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...
- 从oracle10g 10.2.0.1 升级到10.2.0.4碰到的问题及解决
- spring3.0设置定时任务
- 梯度下降的线性回归用python_运用TensorFlow进行简单实现线性回归、梯度下降示例...
- UVA11389巴士司机问题
- 【算法】哈希表 ( 两数之和 )
- 【组合数学】排列组合 ( 排列组合示例 )
- css之line-height及图片文字垂直居中
- ThinkPHP 中M方法和D方法的具体区别
- 点击文字label同时选中checkbox radio