Codeforces #403 Div.2 B.The Meeting Place Cannot Be Changed
来源:互联网 发布:2017电视选购 知乎 编辑:程序博客网 时间:2024/06/05 18:06
题目链接
#include <bits/stdc++.h>using namespace std;const int MAXN = 60000 + 7;const double eps = 1e-8;int n;struct F { double x, v; bool operator<(F& f)const { if(fabs(x - f.x) < eps) return v < f.v; return x < f.x; }}a[MAXN], b[MAXN];int cnt = 0;double getT(double x) { double ans = 0; for(int i = 0; i < n; ++i) { ans = max(ans, fabs(a[i].x - x) / a[i].v); } return ans;}int main() { scanf("%d", &n); for(int i = 0; i < n; ++i) { scanf("%lf", &a[i].x); } for(int i = 0; i < n; ++i) { scanf("%lf", &a[i].v); } sort(a, a+n); double l = a[0].x, r = a[n-1].x, mid, mmid; mid = (l+r) / 2.0; mmid = (mid+r) / 2.0; while(fabs(getT(mid) - getT(mmid)) > eps) { if(r - l < eps) { break; } if(getT(mid) - getT(mmid) < eps) { r = mmid; } else { l = mid; } mid = (l+r) / 2.0; mmid = (mid+r) / 2.0; } printf("%.6f\n", getT(mid)); return 0;}
点压缩,优化,将同一点的均压缩为一个点,速度取最小值
#include <bits/stdc++.h>using namespace std;const int MAXN = 60000 + 7;const double eps = 1e-8;int n;struct F { double x, v; bool operator<(F& f)const { if(fabs(x - f.x) < eps) return v < f.v; return x < f.x; }}a[MAXN], b[MAXN];int cnt = 0;double getT(double x) { double ans = 0; for(int i = 0; i <= cnt; ++i) { ans = max(ans, fabs(b[i].x - x) / b[i].v); } return ans;}int main() { scanf("%d", &n); for(int i = 0; i < n; ++i) { scanf("%lf", &a[i].x); } for(int i = 0; i < n; ++i) { scanf("%lf", &a[i].v); } sort(a, a+n); b[0].x = a[0].x; b[0].v = a[0].v; for(int i = 1; i < n; ++i) { if(a[i].x == b[cnt].x) {continue;} else { cnt++; b[cnt].x = a[i].x; b[cnt].v = a[i].v; } } double l = b[0].x, r = b[cnt].x, mid, mmid; mid = (l+r) / 2.0; mmid = (mid+r) / 2.0; while(fabs(getT(mid) - getT(mmid)) > eps) { if(r - l < eps) break; if(getT(mid) - getT(mmid) < eps) { r = mmid; } else { l = mid; } mid = (l+r) / 2.0; mmid = (mid+r) / 2.0; } printf("%.6f\n", getT(mid)); return 0;}
0 0
- Codeforces Round #403 (Div. 2) B. The Meeting Place Cannot Be Changed
- Codeforces #403 Div.2 B.The Meeting Place Cannot Be Changed
- Codeforces Round #403 (Div. 2)B. The Meeting Place Cannot Be Changed
- Codeforces Round #403 Div. 2 B. The Meeting Place Cannot Be Changed(二分)
- Codeforces Round #403 (Div. 2) B. The Meeting Place Cannot Be Changed 三分
- 【codeforces 782B】The Meeting Place Cannot Be Changed
- codeforces 782B The Meeting Place Cannot Be Changed
- Codeforces 780B-The Meeting Place Cannot Be Changed
- 【Codeforces 782 B The Meeting Place Cannot Be Changed】+ 二分
- codeforces B. The Meeting Place Cannot Be Changed【二分】
- codeforces 782B The Meeting Place Cannot Be Changed
- CodeForces 780B The Meeting Place Cannot Be Changed【二分】
- codeforces 782b The Meeting Place Cannot Be Changed
- codeforces The Meeting Place Cannot Be Changed
- The Meeting Place Cannot Be Changed CodeForces
- B. The Meeting Place Cannot Be Changed
- B. The Meeting Place Cannot Be Changed
- B The Meeting Place Cannot Be Changed
- 7. Reverse Integer
- 微信硬件平台开发--精品博客集
- 关于Asmack聊天框架源码粘贴到项目时报错的解决方法
- linux系统安装mysql数据库(需要在线安装)
- 简单工厂模式
- Codeforces #403 Div.2 B.The Meeting Place Cannot Be Changed
- QML,QT, QT Quick关系
- 编程者的养成
- HRBUST1311-火影忍者之~忍者村
- 从源码解析TreeMap
- 组件化架构剖析
- 数据结构-直接插入排序与希尔排序
- iO文件路径问题
- JAVA 常用GUI工具包