zoukankan      html  css  js  c++  java
  • BZOJ 1679: [Usaco2005 Jan]Moo Volume 牛的呼声( )

     一开始直接 O( n² ) 暴力..结果就 A 了... USACO 数据是有多弱 = =

    先sort , 然后自己再YY一下就能想出来...具体看code

    -----------------------------------------------------------------------------------------

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<iostream>
    #define rep( i , n ) for( int i = 0 ; i < n ; i++ )
    #define clr( x , c ) memset( x , c , sizeof( x ) )
    using namespace std;
    const int maxn = 10000 + 5;
    int h[ maxn ];
    int main() {
    // freopen( "test.in" , "r" , stdin );
    int n;
    cin >> n;
    rep( i , n )
       scanf( "%d" , h + i );
       
    sort( h , h + n );
    long long ans = 0;
    rep( i , n - 1 ) 
       ans += 1LL * ( i + 1 ) * ( n - i - 1 ) * ( h[ i + 1 ] - h[ i ] );
    cout << ans * 2 << " ";
    return 0;
    }

    ----------------------------------------------------------------------------------------- 

    1679: [Usaco2005 Jan]Moo Volume 牛的呼声

    Time Limit: 1 Sec  Memory Limit: 64 MB
    Submit: 798  Solved: 385
    [Submit][Status][Discuss]

    Description

    Farmer John has received a noise complaint from his neighbor, Farmer Bob, stating that his cows are making too much noise. FJ's N cows (1 <= N <= 10,000) all graze at various locations on a long one-dimensional pasture. The cows are very chatty animals. Every pair of cows simultaneously carries on a conversation (so every cow is simultaneously MOOing at all of the N-1 other cows). When cow i MOOs at cow j, the volume of this MOO must be equal to the distance between i and j, in order for j to be able to hear the MOO at all. Please help FJ compute the total volume of sound being generated by all N*(N-1) simultaneous MOOing sessions.

        约翰的邻居鲍勃控告约翰家的牛们太会叫.
        约翰的N(1≤N≤10000)只牛在一维的草场上的不同地点吃着草.她们都是些爱说闲话的奶牛,每一只同时与其他N-1只牛聊着天.一个对话的进行,需要两只牛都按照和她们间距离等大的音量吼叫,因此草场上存在着N(N-1)/2个声音.  请计算这些音量的和.

    Input

    * Line 1: N * Lines 2..N+1: The location of each cow (in the range 0..1,000,000,000).

        第1行输入N,接下来输入N个整数,表示一只牛所在的位置.

    Output

    * Line 1: A single integer, the total volume of all the MOOs.

        一个整数,表示总音量.

    Sample Input

    5
    1
    5
    3
    2
    4

    INPUT DETAILS:

    There are five cows at locations 1, 5, 3, 2, and 4.

    Sample Output

    40

    OUTPUT DETAILS:

    Cow at 1 contributes 1+2+3+4=10, cow at 5 contributes 4+3+2+1=10, cow at 3
    contributes 2+1+1+2=6, cow at 2 contributes 1+1+2+3=7, and cow at 4
    contributes 3+2+1+1=7. The total volume is (10+10+6+7+7) = 40.

    HINT

    Source

  • 相关阅读:
    数据类型装换
    变量及数据类型
    27 网络通信协议 udp tcp
    26 socket简单操作
    26 socket简单操作
    14 内置函数 递归 二分法查找
    15 装饰器 开闭原则 代参装饰器 多个装饰器同一函数应用
    12 生成器和生成器函数以及各种推导式
    13 内置函数 匿名函数 eval,exec,compile
    10 函数进阶 动态传参 作用域和名称空间 函数的嵌套 全局变量
  • 原文地址:https://www.cnblogs.com/JSZX11556/p/4561792.html
Copyright © 2011-2022 走看看