题解

4 条题解

  • 0
    @ 2025-06-10 17:26:22
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <iostream>
    #define enter putchar('\n')
    #define space putchar(' ')
    using namespace std;
    typedef long long ll;
    template <class T>
    void read(T &x){
        char c;
        bool op = 0;
        while(c = getchar(), c < '0' || c > '9')
            if(c == '-') op = 1;
        x = c - '0';
        while(c = getchar(), c >= '0' && c <= '9')
            x = x * 10 + c - '0';
        if(op == 1) x = -x;
    }
    template <class T>
    void write(T x){
        if(x < 0) putchar('-'), x = -x;
        if(x >= 10) write(x / 10);
        putchar('0' + x % 10);
    }
    
    const int N = 10005, INF = 0x3f3f3f3f;
    int n;
    double E, s[N], k[N], u[N];
    
    double getv(double x, int i){
        double l = max(u[i], double(0)), r = 100005, mid;
        int cnt = 60;
        while(cnt--){
            mid = (l + r) / 2;
            if(2 * k[i] * x * mid * mid * (mid - u[i]) > -s[i]) l = mid;
            else r = mid;
        }
        mid = (l + r) / 2;
        return (l + r) / 2;
    }
    double calc(double x){
        double sum = 0;
        for(int i = 1; i <= n; i++){
            double v = getv(x, i);
            sum += k[i] * (v - u[i]) * (v - u[i]);
        }
        return sum;
    }
    
    int main(){
    
        scanf("%d%lf", &n, &E);
        for(int i = 1; i <= n; i++)
            scanf("%lf%lf%lf", &s[i], &k[i], &u[i]), k[i] *= s[i];
        double l = -INF, r = 0, mid;
        int cnt = 100;
        while(cnt--){
            mid = (l + r) / 2;
            if(calc(mid) <= E) l = mid;
            else r = mid;
        }
        mid = (l + r) / 2;
        double ans = 0;
        for(int i = 1; i <= n; i++)
            ans += s[i] / getv(mid, i);
        printf("%.8lf\n", ans);
    
        return 0;
    }
    
  • 0

    前面的基本都能A 最后一个点tle,稍微加点优化就行了
    ```cpp
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #define N 500010
    #define inf 100000008
    using namespace std;

    int n;
    double k[N],s[N],u[N],Eu,v[N];

    bool check(double a,double b,int i){
    return 2.0*a*k[i]*b*b*(b-u[i])<=1.0?true:false;
    }

    double TwoPoint(int i,double lambda){
    double l=max(u[i],0.0),r=inf,mid;
    for(int j=1;j<=100;++j){
    mid=(l+r)/2;
    if(check(lambda,mid,i))l=mid;
    else r=mid;
    }
    return mid;
    }

    bool Check(double mid){
    double E=0;
    for(int i=1;i<=n;++i)v[i]=TwoPoint(i,mid);
    for(int i=1;i<=n;++i)E+=k[i]*s[i]*(v[i]-u[i])*(v[i]-u[i]);
    return E>=Eu;
    }

    int main(){
    scanf("%d",&n);
    scanf("%lf",&Eu);
    for(int i=1;i<=n;++i)
    scanf("%lf%lf%lf",&s[i],&k[i],&u[i]);
    double l=0.0,r=inf,mid;
    for(int j=1;j<=100;++j){
    mid=(l+r)/2;
    if(Check(mid))l=mid;
    else r=mid;
    }
    double ans=0;
    for(int i=1;i<=n;++i)
    ans+=s[i]/v[i];
    printf("%.8f\n",ans);
    return 0;
    }
    ```

  • -3
    @ 2016-11-16 12:25:12

    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛牛牛牛牛牛逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛逼牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛牛牛牛逼牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼逼逼逼逼逼逼
    逼逼逼牛牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼牛牛牛牛逼逼逼逼逼逼逼逼逼逼逼逼
    逼牛牛牛牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼牛牛牛牛逼逼逼逼逼逼逼逼逼逼逼逼
    逼牛牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼逼牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼
    逼牛牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼牛牛牛牛牛牛牛牛牛牛牛牛牛牛逼逼逼逼
    逼逼牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼牛牛牛牛牛牛逼逼逼牛牛牛牛牛牛牛逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼逼牛牛牛牛逼逼逼逼逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼逼牛牛逼逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼逼牛牛牛牛逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼逼牛牛牛牛逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼逼牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼逼牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼牛牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼牛牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼牛牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛牛逼牛牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼牛牛牛逼逼牛牛牛牛逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼牛牛逼逼逼牛牛牛牛牛逼逼逼逼牛牛牛逼逼牛牛牛逼逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼牛牛牛牛牛牛牛牛牛牛逼逼逼逼逼牛牛逼逼牛牛逼逼逼逼牛牛牛牛牛逼逼逼逼逼
    逼逼逼牛牛牛牛牛牛牛牛牛逼逼逼逼逼逼逼逼牛牛牛逼逼逼逼牛牛牛牛逼逼逼逼逼逼
    逼逼逼逼逼牛牛牛牛牛牛牛逼逼逼逼逼逼逼逼牛牛牛逼牛牛牛牛逼逼逼逼逼逼逼逼逼
    逼逼逼逼逼逼牛牛牛牛牛牛逼逼逼逼逼逼逼牛牛牛牛逼逼牛牛牛牛逼逼逼逼逼逼逼逼
    逼逼逼逼逼逼逼逼逼牛牛牛逼逼逼逼逼逼牛牛牛牛牛逼逼逼牛牛牛牛牛牛牛逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛牛牛逼逼逼逼逼牛牛牛牛牛牛逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛牛牛逼逼逼逼逼逼牛牛牛牛牛牛牛逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛牛逼逼逼逼逼逼逼逼逼牛牛牛牛牛牛逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛牛逼逼逼逼逼逼逼逼逼逼逼牛牛牛牛逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼牛牛牛逼逼逼逼
    逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼逼

  • -3
    @ 2014-11-07 09:15:42

    题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题
    题题题题题题题题题题题题题题题题题题题题题题题题题题题题水水水水题题题题题
    题题题题题题题题题题题题题题题题题题题题题题题题水水水水水水水水水题题题题
    题题题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题
    题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题题题
    题题题题题题题题题题题水水水水题水水水水水水水水水水水题题题题题题题题题题
    题题题题题题题题水水水水水水水题水水水题题水水水水水题题题题题题题题题题题
    题题题水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
    题水水水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
    题水水水水水水水水水水水水题题题题题题题水水水水水水水水水水水题题题题题题
    题水水水水水水水水水水水水题题题题题题水水水水水水水水水水水水水水题题题题
    题题水水水水水水水水水水题题题题题水水水水水水题题题水水水水水水水题题题题
    题题题题题题题题水水水水题题题题题水水水水题题题题题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题题水水题题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
    题题题题题题题题水水水水题题题题水水水题题水水水水题题水水水水水题题题题题
    题题水水题题题水水水水水题题题题水水水题题水水水题题题水水水水水题题题题题
    题题水水水水水水水水水水题题题题题水水题题水水题题题题水水水水水题题题题题
    题题题水水水水水水水水水题题题题题题题题水水水题题题题水水水水题题题题题题
    题题题题题水水水水水水水题题题题题题题题水水水题水水水水题题题题题题题题题
    题题题题题题水水水水水水题题题题题题题水水水水题题水水水水题题题题题题题题
    题题题题题题题题题水水水题题题题题题水水水水水题题题水水水水水水水题题题题
    题题题题题题题题题题题题题题题题水水水水水水题题题题题水水水水水水题题题题
    题题题题题题题题题题题题题题题水水水水水水题题题题题题水水水水水水水题题题
    题题题题题题题题题题题题题题水水水水水题题题题题题题题题水水水水水水题题题
    题题题题题题题题题题题题题水水水水水题题题题题题题题题题题水水水水题题题题
    题题题题题题题题题题题题水水水题题题题题题题题题题题题题题题水水水题题题题
    题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题

  • 1

信息

ID
1805
难度
8
分类
(无)
标签
递交数
175
已通过
17
通过率
10%
被复制
2
上传者