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;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在菲律宾怎么办持枪证? 绝地求生打不准怎么办 身份证号码变更后社保怎么办 社保与身份不符怎么办 年龄改了学籍怎么办 结婚证信息错误怎么办 六级身份证过期怎么办 身份号泄露了怎么办 身体证信息泄露怎么办 手机号被泄漏了怎么办 姓名和电话泄露怎么办 个人身份证信息泄露怎么办 身份号码泄露了怎么办 我身份证泄露了怎么办 身份证信息泄漏了怎么办 无锡身份证丢了怎么办 人在外地怎么办身份证 欠空放公司不还怎么办 兼职要身份证照片怎么办 身份证刷不了磁怎么办 身份证不能刷了怎么办 身份证指纹错了怎么办 指纹手机丢了怎么办 异地办理临时身份证怎么办 杭州办理外地身份证怎么办 办理身份证没有户口本怎么办 2018身份证掉了怎么办 双户口注销社保怎么办 常用户口被注销怎么办 刚到厦门怎么办身份证 新疆身份证丢了怎么办 技能证书丢了怎么办 16岁拍身份证怎么办 16岁以下怎么办身份证 办身份证要证明怎么办 15岁怎么办银行卡淘宝 满16岁怎么办银行卡 电脑最小化后不见了怎么办 满16周岁怎么办银行卡 给儿童办身份证怎么办 当兵前身份证号码不符怎么办