zoukankan      html  css  js  c++  java
  • HDU 5073 Galaxy ——乱搞

    【题目分析】

        练习赛的T1。

        只要看懂样例就可以猜结论了。

        然后大胆猜测剩下的星星是一段,其余的都移到重心上去。

        所以只要把计算的式子变形一下就很好维护了。

        居然没有1A

    【代码】

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    #define F(i,j,k) for (int i=j;i<=k;++i)
    #define D(i,j,k) for (int i=j;i>=k;--i)
    #define ll long long
    #define maxn 50005
    
    int t,n,k;
    ll a[maxn],sum[maxn],sumfac[maxn];
    
    int main()
    {
        scanf("%d",&t);
        while (t--)
        {
            scanf("%d%d",&n,&k);
            F(i,1,n) scanf("%lld",&a[i]);
            if (k>=n-1){printf("0
    ");continue;}
            sort(a+1,a+n+1);
            sum[0]=sumfac[0]=0;
            F(i,1,n) sum[i]=sum[i-1]+a[i];
            F(i,1,n) sumfac[i]=sumfac[i-1]+a[i]*a[i];
            double ans=1e18;
            k=n-k;
            F(i,1,n-k+1)
            {ans=min(ans,(double)sumfac[i+k-1]-sumfac[i-1]+(double)(sum[i+k-1]-sum[i-1])*(sum[i+k-1]-sum[i-1])/k-(double)2*(sum[i+k-1]-sum[i-1])*(sum[i+k-1]-sum[i-1])/k);}
            printf("%f
    ",ans);
        }
    }
    

      

  • 相关阅读:
    OC中nil、Nil、NULL、NSNull的区别
    SOJ 1050. Numbers & Letters
    SOJ 1009. Mersenne Composite N
    SOJ 1006. Team Rankings
    SOJ 1036. Crypto Columns
    SOJ 1151. 魔板
    SOJ 1007. To and Fro
    SOJ 1150.简单魔板
    SOJ 1051 Biker's Trip Odometer
    SOJ 1176 Two Ends
  • 原文地址:https://www.cnblogs.com/SfailSth/p/6435392.html
Copyright © 2011-2022 走看看