zoukankan      html  css  js  c++  java
  • P1862输油管道问题

    P1862输油管道问题
    . . .
    .
    .
    -----------------
    .
    . .
    . . .
    图像大体是这样,是带权平均数问题,设答案是k,sigama(abs(yi-k*wi))最小,这里的wi是1而已,问题就退化成了中位数。按纵坐标排序,求中位数即可。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<queue>
     4 #include<algorithm>
     5 #include<cmath>
     6 #include<ctime>
     7 #include<cstring>
     8 #define inf 2147483647
     9 #define For(i,a,b) for(register long long i=a;i<=b;i++)
    10 #define p(a) putchar(a)
    11 #define g() getchar()
    12 //by war
    13 //2017.10.22
    14 using namespace std;
    15 struct node
    16 {
    17     long long x;
    18     long long y;
    19     bool operator<(const node &aa)const
    20     {
    21         return y<aa.y;
    22     }
    23 }a[10010];
    24 long long n;
    25 long long s;
    26 long long ans;
    27 void in(long long &x)
    28 {
    29     long long y=1;
    30     char c=g();x=0;
    31     while(c<'0'||c>'9')
    32     {
    33     if(c=='-')
    34     y=-1;
    35     c=g();
    36     }
    37     while(c<='9'&&c>='0')x=x*10+c-'0',c=g();
    38     x*=y;
    39 }
    40 void o(long long x)
    41 {
    42     if(x<0)
    43     {
    44         p('-');
    45         x=-x;
    46     }
    47     if(x>9)o(x/10);
    48     p(x%10+'0');
    49 }
    50 int main()
    51 {
    52     in(n);
    53     For(i,1,n)
    54     in(a[i].x),in(a[i].y);
    55     sort(a+1,a+n+1);
    56     s=a[(n+1)/2].y;
    57     For(i,1,n)
    58     ans+=abs(s-a[i].y);
    59     o(ans);
    60      return 0;
    61 }
  • 相关阅读:
    iis 7.5应用程序池自动停止
    百度云推送
    两点经纬度之间距离计算
    集合已修改;可能无法执行枚举操作。
    【百度地图】- 学习.1
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    微信相关内容
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    php面试相关
    MySQL权限管理
  • 原文地址:https://www.cnblogs.com/war1111/p/7708552.html
Copyright © 2011-2022 走看看