uvalive 3635 - Pie(二分搜索)
来源:互联网 发布:淘宝招牌尺寸 编辑:程序博客网 时间:2024/04/30 01:44
题目连接:3635 - Pie
题目大意: 有m个派, 要分给n + 1个人, 要求每个人拿到的大小相同, 并且每个人的派必须是一整块, 不能说分别从两个派切出一块凑成。 现在给出m个派的半径(派均为圆柱,高为1),输出每人可以拿到的最大派的体积。
解题思路:二分查找。
#include <stdio.h>#include <string.h>#include <math.h>const int N = 10005;const double pi = 4 * atan(1.0);int n, m;double L, R, mid, r[N];bool judge (double cur) { int cnt = n; double now; for (int i = 0; i < m; i++) {now = r[i];while (now - cur > 0) { now -= cur; cnt--;}if (cnt <= 0)return true; } return false;}int main() { int cas; scanf("%d", &cas); while (cas--) {// Init;R = 0, L = N * N;memset(r, 0, sizeof(r));// Read;scanf("%d%d", &m, &n);for (int i = 0; i < m; i++) { scanf("%lf", &r[i]); r[i] = r[i] * r[i]; R += r[i]; if (L > r[i])L = r[i];}// Handle;n++;L /= n;while (fabs(R - L) >= 1e-4) { mid = (R + L) / 2; if (judge(mid))L = mid; else R = mid;}printf("%.4lf\n", mid * pi); } return 0;}
- uvalive 3635 - Pie(二分搜索)
- uvalive 3635 - Pie(二分搜索)
- UVALive 3635 Pie (二分)
- UVALive - 3635 - Pie(二分)
- UVALIVE 3635 Pie 二分
- UVALive - 3635 Pie 二分
- UVALive 3635-Pie-二分
- UVALive 3635 Pie 【二分】
- UVALive 3635 Pie 二分查找
- UVALive 3635 Pie (二分答案)
- UVALive 3635 Pie 切糕大师 二分
- uva 12097 Pie(二分搜索)
- HDU1969 Pie(二分搜索)
- UVALive - 3635 Pie
- UVALive - 3635 Pie
- UVALive - 3635 Pie
- UVALive 3635 Pie
- uvalive 3971 - Assemble(二分搜索 + 贪心)
- 配置JDK环境变量配置及path和classpath和java_home
- FTP防火墙设置
- 解析 Section Mismatch
- ASF/WMV 文件格式解析
- linux 多线程编程笔记
- uvalive 3635 - Pie(二分搜索)
- [PythonChallenge]第3关
- hdu 4196 Remoteland 基本算术定理
- Linux下基于socket多线程并发通信的实现 阻塞
- get tomcat config parameter use version.bat
- java设计模式示例
- ecshop 中用商品属性表字段更新商品表 update 另外一个表的字段
- Apache No services installed 错误
- 深入学习Django源码基础5 - utils中archive技巧