习题8-14 商队抢劫者(Caravan Robbers, ACM/ICPC SEERC 2005, UVa1616)
原题链接:https://vjudge.net/problem/UVA-1609
分类:二分法
备注:精度问题,技巧
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
const double eps=1e-9;
int n;
struct Node{double l,r;bool operator < (const Node& rhs)const{return l<rhs.l;}
}p[maxn];
bool check(double len){double st=0.0;for(int i=0;i<n;i++){if(st<p[i].l)st=p[i].l;if(st+len>p[i].r)return false;st+=len;}return true;
}
int main(void){//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);while(~scanf("%d",&n)){for(int i=0;i<n;i++)scanf("%lf%lf",&p[i].l,&p[i].r);sort(p,p+n);double l=0.0,r=1e6,mid=(l+r)/2.0;while(r-l>eps){if(check(mid))l=mid;else r=mid;mid=(l+r)/2.0;}double ans=l;int ansp=0,ansq=1;for(int y=1;y<=n;y++){int x=round(y*ans);if(fabs(1.0*x/y-ans)<fabs(1.0*ansp/ansq-ans)){ansp=x; ansq=y;}}printf("%d/%d\n",ansp,ansq);}return 0;
}
习题8-14 商队抢劫者(Caravan Robbers, ACM/ICPC SEERC 2005, UVa1616)相关推荐
- 习题 7-12 移动小球(Moving Pegs, ACM/ICPC Taejon 2000, UVa1533)
原题链接:https://vjudge.net/problem/UVA-1533 分类:状态压缩 备注:模拟,BFS水题 感觉这个题没有什么做的价值-前一题做了就够了. 注意几个比较隐晦的细节,每一步 ...
- 算法竞赛入门竞赛 习题3-2 分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
给出一种物质的分子式(不带括号),求分子量.本题中的分子式只包含4种原子,分 别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01(单位:g/mol).例如,C6 ...
- 习题3-3 数数字(Digit Counting , ACM/ICPC Danang 2007, UVa1225)
前n(n≤10000)个整数顺次写在一起:123456789101112-数一数0-9各出现多少次 (输出10个整数,分别是0,1,-,9出现的次数). 原题链接:https://vjudge.net ...
- 习题6_5 巡逻机器人(Patrol Robot, ACM/ICPC Hanoi 2006, UVa1600)
越障可以拐弯,一个障碍可能被不同路线所经过,所以普通的dfs不行,再加一个维度step,表示走到此结点越过的障碍数 #include<cstdio> #include<cstring ...
- UVa1600 习题6-5 巡逻机器人 (Patrol Robot,ACM/ICPC Hanoi 2006)
原题链接: UVa-1600 题目大意: 模拟机器人要从一个m*n(m和n的范围都在1到20的闭区间内)的网格的左上角(1,1)走到右下角(m,n).网格中的一些格子是空地,用0表示,其它格子是障碍, ...
- 《算法竞赛入门经典》 例题3-5 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
原题及翻译 For a positive integer N , the digit-sum of N is defined as the sum of N itself and its digits ...
- 例题3-5 生成元(Digit Generator, ACM/ICPC Seoul 2005, UVa1583)
如果x加上x的各个数字之和得到y,就说x是y的生成元.给出n(1≤n≤100000),求最小 生成元.无解输出0.例如,n=216,121,2005时的解分别为198,0,1979. 先附上自己的想法 ...
- 生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583)
生成元:如果 x 加上 x 各个数字之和得到y,则说x是y的生成元. n(1<=n<=100000),求最小生成元,无解输出0. 例如:n=216 , 解是:198 198+1+9+8=2 ...
- 2018-2019 ACM—ICPC SEERC 题解
2018 - 2019 SEERC 题解 比赛发出来太新了,网上根本就搜不到题解,补题补的太难受了. 在这里分享一篇我自己写的题解,也方便别人补题. 题目链接 http://codeforces.co ...
最新文章
- python导入自定义模块和路径问题
- 快速上手seajs——简单易用Seajs
- JavasScript基数排序
- centos7挂载windows共享文件
- mysql redo原子写_InnoDB如何保证redolog的完整性?
- mysql 跨域_解决go echo后端处理跨域的两种操作方式
- oracle optimizermode,Oracle OPTIMIZER_MODE参数
- python getsize_Python getsizeof()和getsize()区分详解
- js判断操作系统与浏览器
- 14.docker volumn
- php爬虫大数据抓取_爬虫软件介绍?大数据抓取软件?
- ISO_7637-1/2/3/4/5标准各部分修订状态汇总(Road vehicles-Electrical disturbances from conduction and coupling)
- Python3开发 语法(四)
- CRM八面体:客户关系管理成功案例1 荷兰皇家航空 KLM Royal Dutch Airlines
- yolo实现交通信号灯视频流识别代码搬运及调试
- 数据链路层(帧)(二)
- C++一本通题库1021
- Java面向对象题库
- 批量删除 Word 文档中的所有图片
- anaconda linux环境变量,配置anaconda环境(linux)