当前位置:首页 > 资讯 > info5 > 正文

POJ 3122 Pie (二分+精度问题)

发表于: 2015-01-23   作者:u013013910   来源:转载   浏览:
摘要: 题目地址:POJ3122思路还是二分,只是需要考虑一下精度问题,π要先不加,放到判断的时候再加上可以增加精度。代码如下:#include #include #include #include #include #include #include #include #include usingnamespacestd; #defineLL__int64 #definepiacos(-1.0) con

题目地址:POJ 3122

思路还是二分,只是需要考虑一下精度问题,π要先不加,放到判断的时候再加上可以增加精度。

代码如下:

#include <iostream>
#include <string.h>
#include <math.h>
#include <queue>
#include <algorithm>
#include <stdlib.h>
#include <map>
#include <set>
#include <stdio.h>
using namespace std;
#define LL __int64
#define pi acos(-1.0)
const int mod=9901;
const int INF=0x3f3f3f3f;
const double eqs=1e-4;
LL v[20000];
bool Judge(double f1, double f2)
{
        return f2-f1>eqs;
}
double bin_search(int n, int m)
{
        double low=0, high=4e8, mid, ans;
        int cnt;
        while(Judge(low,high)){
                mid=(low+high)/2;
                cnt=0;
                for(int i=0;i<n;i++){
                        cnt+=(int)(v[i]*pi/mid);
                }
                if(cnt>=m){
                        ans=mid;
                        low=mid+eqs;
                }
                else
                        high=mid-eqs;
        }
        return ans;
}
int main()
{
        int t, n, m, i, r;
        scanf("%d",&t);
        while(t--){
                scanf("%d%d",&n,&m);
                m++;
                for(i=0;i<n;i++){
                        scanf("%d",&r);
                        v[i]=r*r;
                }
                printf("%.4f\n",bin_search(n,m));
        }
        return 0;
}


POJ 3122 Pie (二分+精度问题)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Description My birthday is coming up and traditionally I'm serving pie. Not just one pie, no,
Pie Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14107 Accepted: 4837 Special J
题目意思:我过生日请了f 个朋友来参加我的生日party,m个蛋糕,我要把它平均分给每个人(包括我)
Pie Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11178 Accepted: 3899 Special J
Description A Sudoku grid is a 16x16 grid of cells grouped in sixteen 4x4 squares, where some
Pie Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10629 Accepted: 3744 Special J
在JS处理算法时,有时会存在精度问题。 如694.84+(-300)有精度问题,但694.64+(-300)没有精度问题。
虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它。这容易理解 ― 我们中大
虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它。这容易理解 ― 我们中大
在JS处理算法时,有时会存在精度问题。 如694.84+(-300)有精度问题,但694.64+(-300)没有精度问题。
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号