zoukankan      html  css  js  c++  java
  • 2012 MultiUniversity Training Contest 6

    我就做了个1006啊!!!签到题啊!!!三分模板题啊!!!因为用cin输入而不用scanf一顿TLE啊!!!

    现学现卖,三分求凸函数极值。

    打表发现该函数符合凸函数性质,于是三分。

    View Code
    #include <iostream>
    #include <math.h>
    #include <stdio.h>
    #define eps 1e-9
    using namespace std;
    int n;
    struct P{
        double x,w;
    }p[50005];
    
    double Calc(double i){
        double S=0.0;
        for(int j=0;j<n;j++){
            S+=fabs((i-p[j].x)*(i-p[j].x)*(i-p[j].x))*p[j].w;
        }
        return S;
    }
    int main(){
        int cas,k=0;
        scanf("%d",&cas);
        while(cas--){
            scanf("%d",&n);
            for(int i=0;i<n;i++){
                scanf("%lf%lf",&p[i].x,&p[i].w);
            }
            double l,r,mid,midmid,mid_area,midmid_area;
            l=-2000000.0,r=2000000.0;
            while(l+eps<r){
                mid=(l+r)/2;
                midmid=(mid+r)/2;
                mid_area=Calc(mid);
                midmid_area=Calc(midmid);
                if(mid_area<=midmid_area) r=midmid;
                else l=mid;
            }
            printf("Case #%d: ",++k);
            printf("%.0lf\n",Calc(midmid));
        }
        return 0;
    }
  • 相关阅读:
    Codeforces 678E 状压DP
    Codeforces 667C DP
    POJ 3017 DP + 单调队列 + 堆
    Codeforces 1154F (DP)
    Codeforces 1154G 枚举
    Codeforces 1153D 树形DP
    Codeforces 1109E 线段树
    Codeforces 1109C 线段树
    Codeforces 1109D (树的计数问题)
    async/await
  • 原文地址:https://www.cnblogs.com/markliu/p/2630704.html
Copyright © 2011-2022 走看看