zoukankan      html  css  js  c++  java
  • bzoj3210: 花神的浇花集会

    第二次遇到切比雪夫了

    那么大力转成曼哈顿求中位数

    然而这题有坑点,求出那个曼哈顿的坐标还原成切比雪夫可能不是整点

    那么就把它四周的点都算一次取min就好

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    typedef long long LL;
    
    int n,X[110000],Y[110000];
    LL getsum(int mx,int my)
    {
        LL sum=0;
        for(int i=1;i<=n;i++)
        {
            sum+=(LL(abs(mx-X[i])))+(LL(abs(my-Y[i])));
        }
        return sum;
    }
    int main()
    {
        freopen("a.in","r",stdin);
        freopen("a.out","w",stdout);
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d%d",&X[i],&Y[i]);
            X[i]+=Y[i];Y[i]=X[i]-2*Y[i];
        }
        int mx,my;
        sort(X+1,X+n+1);mx=X[n/2+1];
        sort(Y+1,Y+n+1);my=Y[n/2+1];
        
        if((mx+my)%2==1)
            printf("%d
    ",min(min(getsum(mx-1,my),getsum(mx,my-1)),min(getsum(mx,my+1),getsum(mx+1,my)))/2);
        else 
            printf("%d
    ",getsum(mx,my)/2);
        return 0;
    }
  • 相关阅读:
    ff与ie 的关于js兼容性
    CSS清除浮动的方法
    java8 LocalDateTime
    BigDecimal
    JAVA将 Word 文档转换为 PDF
    Ionic4
    SpringBoot后端统一格式返回
    SpringBoot集成JWT
    Java Lombok
    SpringBoot 中通过 CORS 解决跨域问题
  • 原文地址:https://www.cnblogs.com/AKCqhzdy/p/9673809.html
Copyright © 2011-2022 走看看