首页 > 其他 > 详细

POJ 1759(二分

时间:2015-06-18 21:33:38      阅读:120      评论:0      收藏:0      [点我收藏+]

题意还是需要看原题,不好描述。

实际上这个题只需要注意一点,就是把关系式改成递推式,然后就可以发现第二项完全决定了后面的位置,所以二分第二项的高度即可。

技术分享
import java.util.*;
import java.io.*;
import java.math.*;

public class Main {
    public static final int maxv = 200005;
    public static final int shift = 100000;
    static int N;
    static double A;

    public static void main(String[] args) throws Exception {
        Scanner in = new Scanner(new File(
                "/home/develop/eclipse_file/ACMproject/src/in"));
        // Scanner in=new Scanner(System.in);
        N=in.nextInt();
        A=in.nextDouble();
        double l=A,r=0;
        double ansl=1e10,ansl2=0;
        while(Math.abs(ansl-ansl2)>0.001){
            double mid=(l+r)/2;
            double res=check(mid);
            if(res>0){
                l=mid;
                ansl2=ansl;
                ansl=res;
            }else{
                r=mid;
            }
        }
        System.out.printf("%.2f\n",ansl);
        in.close();
    }
    static double check(double a2){
        double now=0;
        double a1=A;
        int i;
        for(i=3;i<=N;i++){
            now=2*a2-a1+2;
            a1=a2;
            a2=now;
            if(now<0) return -1;
        }
        return now;
    }
}
View Code

 

POJ 1759(二分

原文:http://www.cnblogs.com/Cw-trip/p/4586742.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!