zoukankan      html  css  js  c++  java
  • USACO月赛2005 january volume

    2013-09-18 08:12

    由题可知,ans=∑i  ∑j(x[i]-x[j])

    最后整理完之后应该是不同系数的X[i]相加,所以这道题就成了求不同x[i]的系数

    对于X[i],它需要减前面(i-1)个不同的数,所以系数先是(i-1),而计算它前

    面的每个数时都需要被X[i]减,所以系数成了2*(i-1),而且X[i]会被后面(n-i)

    个数减,且计算后面的x时,都会减x[i],所以需要减2*(n-i)所以系数就变成了

    2*(2*i-n-1),累加每个即可

    //By BLADEVIL
    var
        n                       :longint;
        i, j                    :longint;
        x                       :array[0..10010] of int64;
        ans                     :int64;
    
    procedure swap(var a,b:int64);
    var
        c                       :longint;
    begin
        c:=a; a:=b; b:=c;
    end;
    
    procedure qs(low,high:longint);
    var
        i, j, xx                :int64;
    begin
        i:=low; j:=high; xx:=x[(i+j) div 2];
        while i<j do
        begin
            while x[i]<xx do inc(i);
            while x[j]>xx do dec(j);
            if i<=j then
            begin
                swap(x[i],x[j]);
                inc(i); dec(j);
            end;
        end;
        if i<high then qs(i,high);
        if j>low then qs(low,j);
    end;
    
    
    begin
        assign(input,'volume.in'); reset(input);
        assign(output,'volume.out'); rewrite(output);
        read(n);
        for i:=1 to n do read(x[i]);
        qs(1,n);
        j:=n;
        for i:=n downto 1 do ans:=ans+(2*(i-1)-2*(n-i))*x[i];
        writeln(ans);
        close(input); close(output);
    end.
  • 相关阅读:
    css
    博客目录
    macOS下psql客户端中文乱码问题
    PostgreSQL dblink的使用
    error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
    mac中环境变量配置
    PostgreSQL Copy 命令
    Linux下rz命令和sz命令使用方法
    Tmux 使用教程
    create_time和update_time自动填写
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3433507.html
Copyright © 2011-2022 走看看