zoukankan      html  css  js  c++  java
  • POJ 2728 Desert King [最优比率生成树]

    RT


    我想哭

    我想哭

    我想哭

    我想哭

    我想哭

    我想哭

    我想哭

    我想哭

    我想哭

    我想哭

    我想哭

    我想哭


    凭什么!一模一样的代码一个TLE一个AC,改小二分范围和精度才过

    凭什么!

    我眼睁睁的看着那段代码复制之前复制之后一模一样!

    凭什么!

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    const int N=1005;
    const double eps=1e-4,INF=1e9;
    inline int read(){
        char c=getchar();int x=0,f=1;
        while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}
        while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}
        return x*f;
    }
    int n;
    double c[N][N],d[N][N],w[N][N];
    struct Position{
        double x,y,z;
    }a[N];
    double mn[N];
    bool vis[N];
    bool check(double mid){//printf("check %lf
    ",mid);
        for(int i=1;i<=n;++i)
            for(int j=1;j<=n;++j) 
                w[i][j]=c[i][j]-d[i][j]*mid;
        memset(vis,0,sizeof(vis));memset(mn,127,sizeof(mn));mn[1]=0;
        for(int i=1;i<=n;++i){
            int k=0;
            for(int j=1;j<=n;++j) if(!vis[j]&&mn[j]<mn[k]) k=j;
            vis[k]=1;
            for(int j=1;j<=n;++j) if(!vis[j]&&w[j][k]<mn[j]) mn[j]=w[j][k];
        }
        double re=0;
        for (int i=1;i<=n;++i) re+=mn[i];
        return re<0;
    }
    
    void solve(){
        double l=0,r=1e2;
        while(r-l>eps){
            double mid=(l+r)/2.0;
            if(check(mid)) r=mid;
            else l=mid;
        }
        printf("%.3f
    ",l);
    }
    int main(){
        freopen("in","r",stdin);
        while(scanf("%d",&n)!=EOF&&n){
            for(int i=1;i<=n;i++) a[i].x=read(),a[i].y=read(),a[i].z=read();
            if(n==1) {puts("0.000");continue;}
            for(int i=1;i<=n;i++) 
                for(int j=1;j<=n;++j) 
                    c[i][j]=abs(a[i].z-a[j].z),
                    d[i][j]=sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y));
            solve();
        }
    }
  • 相关阅读:
    jquery-4 完整表单验证实例
    从程序员的角度分析微信小程序(编程语言:用到什么学什么)
    微信程序开发
    css3-4 css3边框样式
    css3-3 css3背景样式
    boxfilter 实现
    opencv在arm和x86在移植
    PAT 1033. To Fill or Not to Fill (贪婪)
    [git] fatal: This operation must be run in a work tree
    spring与mybatis集成和事务控制
  • 原文地址:https://www.cnblogs.com/candy99/p/6431123.html
Copyright © 2011-2022 走看看