zoukankan      html  css  js  c++  java
  • hdu 2083

    原题连接:

      http://acm.hdu.edu.cn/showproblem.php?pid=2083

    题意:

      给定x轴上n个点,求任意一点到其他点距离和的最小值。

    思路:

      (1)当n=2时:sum=|a-b|(点用a,b,c.......表示);

      (2)当n>2时:以n=3为例,a=1,b=5,c=10。sum1=|a-b|+|a-c|=13、sum2=|b-a|+|b-c|=6、sum3=|c-a|+|c-b|=14 (数据可自己模拟测试);

      由此可以看出当点是有序排列时,中间的点到其他点的距离和是最小的(n为奇、偶时,需另判断);

    代码:

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cmath>
     4 #include<algorithm>
     5 
     6 using namespace std;
     7 
     8 int main()
     9 {
    10   int t,n,a[501];
    11   int i;
    12   cin>>t;
    13   while(t--)
    14   {
    15     cin>>n;
    16     for(i=0;i<n;i++)
    17     {
    18       cin>>a[i];
    19     }
    20      sort(a,a+n);
    21     if(n%2==0)
    22     {
    23       long long A=0,B=0;
    24       for(i=0;i<n;i++)
    25       {
    26         A+=abs(a[n/2]-a[i]);
    27         B+=abs(a[n/2-1]-a[i]);
    28       }
    29       if(A>B)
    30         printf("%lld
    ",B);
    31       else
    32         printf("%lld
    ",A);
    33     }
    34     else
    35     {
    36       long long A=0;
    37       for(i=0;i<n;i++)
    38       {
    39         A+=abs(a[n/2]-a[i]);
    40       }
    41       printf("%lld
    ",A);
    42     }    
    43   }
    44 
    45 return 0;
    46 }
  • 相关阅读:
    怎么统计指定文件夹下含有.xml格式的文件数目
    SQLServer触发器创建、删除、修改、查看
    Devexpress 学习不错的网址
    Devexpress
    SQL 查找重复项及批量修改数据成固定格式
    elementui carousel不能自适应问题
    node中console自定义样式
    forEach for for in for of性能问题
    骚东西
    关于arr.map()问题
  • 原文地址:https://www.cnblogs.com/x-x-y/p/6885864.html
Copyright © 2011-2022 走看看