博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1064 Cable master(二分查找,精度)
阅读量:4987 次
发布时间:2019-06-12

本文共 992 字,大约阅读时间需要 3 分钟。

二分就相当于不停地折半试。

C++AC,G++WA不知为何,有人说C函数ans那里爆int了,改了之后也没什么用。

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #define lson l, m, rt<<1 9 #define rson m+1, r, rt<<1|110 #define INF 0x3f3f3f3f11 typedef unsigned long long ll;12 using namespace std;13 int n, m;14 double L[10010], sum=0;15 int C(double x)//x为每条边长度 16 {17 int ans = 0;18 for(int i = 0; i < n; i++){19 ans += (int)(L[i]/x); 20 }21 if(ans < m) return 0;22 return 1;23 }24 int main()25 {26 cin >> n >> m;27 for(int i = 0; i < n; i++){28 cin >> L[i];29 sum += L[i];30 }31 sum = sum/m+1;32 double lb = 0, ub = sum;//ub也可以直接等于INF 33 for(int i = 0; i < 100; i++){34 double mid = (lb+ub)/2;35 if(C(mid)){36 lb = mid;37 } 38 else ub = mid;39 }40 printf("%.2lf\n", floor(lb*100)/100); //只能这么写,floor不能换成int,总之这是一个精度坑41 return 0;42 }

 

转载于:https://www.cnblogs.com/Surprisezang/p/9027607.html

你可能感兴趣的文章
HTML5-盒子的使用
查看>>
Swift之单例模式
查看>>
20180918-2 每周例行报告
查看>>
网站目录文件权限的简单安全设置
查看>>
android分享到代码
查看>>
Android 屏幕切换效果实现 (转)
查看>>
我的2015技术学习流水账
查看>>
JQuery上传插件Uploadify使用详解
查看>>
python 批量更改文件名
查看>>
DRF频率、分页、解析器、渲染器
查看>>
LeetCode(11)题解: Container With Most Water
查看>>
【uva11987】带删除的并查集
查看>>
Redis设置认证密码
查看>>
终于有人把P2P、P2C、O2O、B2C、B2B、C2C的区别讲透了!还有许多其它类别的类型分享...
查看>>
Auth认证
查看>>
Elasticsearch索引模板和别名
查看>>
HTTP协议的8种请求类型介绍
查看>>
[收藏]Oracle技术网里的链接
查看>>
varchar和Nvarchar区别
查看>>
2o_TwoTips
查看>>