【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

二分长度。
显然长度越长。就越不可能。
二分的时候。可以不用管精度。
直接指定一个二分次数的上限就好。
判断长度是否可行。直接用贪心就好。
->贪心(排序区间,尽量让新的区间右端点靠左一点。以便后面的区间有放的地方。

最后得到小数。

=>暴力枚举分母i是什么。

然后进行类似一个迭代!?的过程。

如果round(ans*i)/i和ans的差的绝对值更小。则更新分母、分子。

【代码】

#include <bits/stdc++.h>
#define ll long long
using namespace std; const int N = 1e5; int n;
pair<double,double> a[N+10]; bool ok(double len){
double now = a[1].first + len;
for (int i = 2;i <= n;i++){
if (a[i].first<now){
if (now+len>a[i].second) return false;
now = now + len;
}else{
//a[i].first>=now
if (a[i].first+len>a[i].second) return false;
now = a[i].first+len;
}
}
return true;
} int main(){
#ifdef LOCAL_DEFINE
freopen("rush_in.txt", "r", stdin);
#endif
ios::sync_with_stdio(0),cin.tie(0);
while (cin >> n){
for (int i = 1;i <= n;i++) cin >> a[i].first>>a[i].second;
sort(a+1,a+1+n);
double l = 1,r = a[1].second-a[1].first,temp = -1;
for (int i = 1;i <= 200;i++){
double mid = (l+r)/2.0;
if (ok(mid)){
temp = mid;
l = mid;
}else r = mid;
}
ll pfenzi = 0,pfenmu = 1;
for (int i = 1;i <= 100000;i++){
ll fenzi = round(i*temp);
if ( abs((double)fenzi/(1.0*i)-temp) <abs((double)pfenzi/(1.0*pfenmu) - temp)){
pfenzi = fenzi;
pfenmu = i;
}
}
cout <<pfenzi<<"/"<<pfenmu<<endl;
}
return 0;
}

最新文章

  1. Collection
  2. Hibernate配置log4j日志环境
  3. 【UWP】批量修改图标尺寸
  4. CAShapeLayer(持续更新)
  5. PHP Static Self 的区别
  6. EditText 属性
  7. python中隐式的内存共享
  8. 删除 GPT 保护分区
  9. UNITY 打包安卓APK
  10. ubuntu14.04中安装QuartusII9.1步骤
  11. Hdu3498-whosyourdaddy(精确覆盖模板题)
  12. 使用karma+jasmine做单元测试
  13. JSP连接MySQL时老是遇到驱动错误怎么办?
  14. web.py模块使用
  15. 精读Hadamard Response论文
  16. (1)HTML的组成(什么是标签、指令、转义字符、数据、标签字符表)
  17. 负载均衡下 tomcat session 共享
  18. Redis4.0新特性之-大KEY删除
  19. 利用JS实现图片的缓存
  20. jenkins+maven+junit构建自动化测试,整合junit xml生成直观的测试报告[留存]

热门文章

  1. 把qtdesigner中的ui文件生成py文件 anaconda
  2. BZOJ 4241 历史研究(分块)
  3. 转载 :Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码
  4. 同门不同类—创新Aurvana Live2/Air简评(附随身视听设备心路历程)
  5. PatentTips - Virtualizing performance counters
  6. [9]EC_屏蔽ecshop云提示no_license
  7. 七牛用户搭建c# sdk的图文讲解
  8. 理解FPGA中的RAM、ROM和CAM;ROM、RAM、DRAM、SRAM、FLASH
  9. Rapidjson的简单使用示例
  10. js阻止默认事件与js阻止事件冒泡