UVA 1616 - Caravan Robbers
2015-09-10 15:50
323 查看
二分找最大区间长,然后暴力搜出最优分数
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <queue> #include <vector> #include <cmath> using namespace std; const int maxn = 100000+10; const double INF = 1000000.0; const double eps = 1e-10; int n, T; pair<int, int> pai[maxn]; int main() { while(scanf("%d", &n) != EOF) { for(int i = 0; i < n; ++i) scanf("%d%d", &pai[i].first, &pai[i].second); sort(pai, pai+n); double l = 0, r = INF; double ans = 0.0; while(l + eps <= r) { double mid = (l + r) / 2, v = 0; bool is = true; for(int i = 0; i < n && is; ++i) { if(v < pai[i].first) v = pai[i].first; if(v + mid > pai[i].second) is = false; v += mid; } if(is) { l = mid; ans = max(ans, mid); } else r = mid; } int rp = 0, rq = 1; for (int p, q = 1; q <= n; q++) { p = round(ans * q); if (fabs((double)p / q - ans) < fabs((double)rp / rq - ans)) { rp = p; rq = q; } } printf("%d/%d\n", rp, rq); } return 0; }
相关文章推荐
- 基于hadoop的推荐算法-mahout版
- poj 1422&&hdoj 1151 Air Raid
- 广州#########
- yum更新时不升级内核的方法
- PHP基础面试题
- 0909我对编译原理的见解
- Hadoop
- CentOS 安装java环境
- Java反射
- MD5处理的字节流注意事项
- 新装VS2015后,创建ASP.NET 5预览版模版报错问题。
- java删除文件和文件夹
- iptables详解
- 转载:PKG_CONFIG_PATH变量 与 ld.so.conf 文件
- hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
- 深入解析C++中的函数模板和函数的默认参数
- [iOS学习]C语言-04-程序循环结构-do…while循环解说
- android批量文件上传(android批量图片上传)
- 面试题44扑克牌的顺序
- Yii2.0 ActiveForm Input Fields