Slalom
来源:互联网 发布:黑暗之魂 世界观知乎 编辑:程序博客网 时间:2024/05/12 03:10
题意描述比较恶心,首先需要明确题目给出的坐标描述的不是类似横版游戏的纵切图,实际上把整个斜面当做一个平面,详细说明见图,N个宽度为W的”门“, 横向移动的速度不能超过vh, S个速度为v[i]的滑雪板,滑雪板的速度是纵向移动的速度,完成比赛必须通过所有的门,求能够完成比赛的速度最快滑雪板的速度
#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm>#include <vector>#include <cstring>#include <stack>#include <cctype>#include <utility> #include <map>#include <string> #include <climits> #include <set>#include <string> #include <sstream>#include <utility>#include <ctime>using std::priority_queue;using std::vector;using std::swap;using std::stack;using std::sort;using std::max;using std::min;using std::pair;using std::map;using std::string;using std::cin;using std::cout;using std::set;using std::queue;using std::string;using std::istringstream;using std::make_pair;using std::greater;const int MAXN(100010);int x[MAXN], y[MAXN];int v[1000010];bool legal(int goal, int W, int vh, int N){double x1 = x[0], x2 = x[0]+W;for(int i = 1; i < N; ++i){double excur = double(y[i]-y[i-1])/goal*vh;x1 -= excur;x2 += excur;if(x[i] > x2 || x[i]+W < x1)return false;x1 = max(x1, double(x[i]));x2 = min(x2, double(x[i]+W));}return true;}int main(){int T;scanf("%d", &T);while(T--){int W, vh, N;scanf("%d%d%d", &W, &vh, &N);for(int i = 0; i < N; ++i)scanf("%d%d", x+i, y+i);int S;scanf("%d", &S);for(int i = 0; i < S; ++i)scanf("%d", v+i);sort(v, v+S);int l = 0, r = S;while(l < r){int m = (l+r) >> 1;if(legal(v[m], W, vh, N))l = m+1;elser = m;}if(l)printf("%d\n", v[l-1]);elseprintf("IMPOSSIBLE\n");}return 0;}
- Slalom
- Slalom
- HDU 4077 Slalom
- uva 11627 Slalom
- Uva-11627-Slalom
- UVA - 11627 Slalom
- 11627 - Slalom (二分+贪心)
- UVA11627-Slalom(二分法)
- uva 11627 Slalom
- UVA - 11627 Slalom 二分
- UVA - 11627 - Slalom(二分法)
- UVA - 11627 Slalom
- UVA 11627(p80)----Slalom
- UVA11627 Slalom (二分判断)
- UVA 11627 Slalom(二分)
- codeforces 720D. Slalom
- UVA11627 Slalom 障碍滑雪
- UVA 11627 - Slalom(二分)
- 利用高权重平台 日引上万流量
- 前端工程师必须掌握的知识点
- My97日历控件点击会返回前一个页面
- 计算机位数
- 使用javascirpt 读写cookie
- Slalom
- 素数标记法求n以内所有的素数
- 译文1 手把手教你用cocos2d开发iphone游戏
- Linux 下将sd格式化成ext2格式并挂载
- Ubuntu 装 Courier New字体
- 获取上一月的开始时间和结束时间
- hibernate中POJO一定要实现Serializable接口吗?这样做的目的是什么?
- 网赚如何做好每天规划并且严格执行
- 草根站长赚钱的思路