zoukankan      html  css  js  c++  java
  • 精度

    #include<stdio.h>
    #include<algorithm>
    #include<cmath>
    #pragma warning(disable:4996)
    #define maxn 10000+23
    #define PI acos(-1.0)
    using namespace std;
    int n, f;
    int a[maxn];
    int check(double m)
    {
    int cout = f + 1;

    for (int j = n - 1; j >= 0; j--)
    {

    cout -= (int)(a[j] * a[j] * PI / m);//如果写成(int)a[j]*a[j]*PI/m会出现四舍五入的情况,而需要的是向下取整
    if (cout <= 0) return 1;
    }
    return 0;

    }
    int main()
    {
    printf("%lf", acos(-1.0));
    scanf("%d%d",&n,&f);
    for (int i = 0; i < n; i++)
    scanf("%d", &a[i]);
    sort(a,a+n);
    double l = 0, r = a[n - 1]*a[n-1]*PI+1;//加个一更好
    double mid;
    while (l +0.000001< r)
    {
    mid= (l + r) / 2;
    if (check(mid)) l = mid;
    else
    r = mid;

    }

    printf("%.3lf",l);
    getchar();
    getchar();
    return 0;
    }

  • 相关阅读:
    LeetCode347 前k个高频元素
    剑指42 连续字数租的最大和
    hdu1540
    hdu4553 两棵线段树
    cdq分治
    负环
    最短路
    差分约束系统
    hdu3308
    hdu5862 树状数组+扫描线+离散化
  • 原文地址:https://www.cnblogs.com/zxzmnh/p/11612267.html
Copyright © 2011-2022 走看看