20161022 NOIP類比賽 T2 解題報告

來源:互聯網
上載者:User

標籤:das   想去   view   tchar   分享   text   class   技術分享   const   

旅行者問題

【問題描述】

lahub是一個旅行者的粉絲,他想成為一個真正的旅行者,所以他計劃開始一段旅行。lahub想去參觀n個目的地(都在一條直道上)。lahub在起點開始他的旅行。第i個目的地和起點的距離為ai千米(ai為非負整數)。不存在兩個目的地和起點的距離相同。

    從第i個目的地走到第j個目的地所走的路程為 |ai-aj|千米。我們把參觀n個目的地的順序稱作一次“旅行”。lahub可以參觀他想要參觀的任意順序,但是每個目的地有且只能被參觀一次(參觀順序為n的排列)。

    lahub把所有可能的“旅行”都寫在一張紙上,並且記下每個“旅行”所要走的路程。他對所有“旅行”的路程之和的平均值感興趣。但是他覺得計算太枯燥了,所以就向你尋求協助。

【輸入格式】

第一行一個正整數n。

    第二行n個非負整數a1,a2,....,an(1≤ai≤10^7)。

【輸出格式】

兩個整數,答案用最簡分數形式輸出,第一個為分子,第二個為分母。

【輸入範例】

3

    2 3 5

【輸出範例】

22 3

【範例提示】

範例有6種可能的旅行:

[2, 3, 5]: 該“旅行”的路程:|2 – 0| + |3 – 2| + |5 – 3| = 5;

[2, 5, 3]: |2 – 0| + |5 – 2| + |3 – 5| = 7;

[3, 2, 5]: |3 – 0| + |2 – 3| + |5 – 2| = 7;

[3, 5, 2]: |3 – 0| + |5 – 3| + |2 – 5| = 8;

[5, 2, 3]: |5 – 0| + |2 – 5| + |3 – 2| = 9;

[5, 3, 2]: |5 – 0| + |3 – 5| + |2 – 3| = 8.

答案為 1/6 * (5+7+7+8+9+8)=44/6=22/3

【資料範圍】

30% n<=10

50% n<=1000

100% n<=100000

 

—————————————分割線—————————————

每個點對答案的貢獻:

答案:

 1 #include "bits/stdc++.h" 2  3 using namespace std ; 4 typedef long long QAQ ; 5 const int maxN = 1e6 + 1e3 ;  6  7 QAQ GCD ( QAQ x , QAQ y ) { 8         while ( x ^= y ^= x ^= y %= x ) ; 9         return y ; 10 }11 int  A[ maxN ] ;12 inline int INPUT ( ) {13         int x = 0 , f = 1 ; char ch = getchar ( ) ;14         while ( ch < ‘0‘ || ‘9‘ < ch ) { if ( ch == ‘-‘ ) f = -1 ; ch = getchar ( ) ; }15         while ( ‘0‘ <= ch && ch <= ‘9‘ ){ x = ( x << 1 ) + ( x << 3 ) + ch - ‘0‘ ; ch = getchar ( ) ; }16         return x * f ;17 }18 19 int main ( ) {20         QAQ N ;21         N = INPUT ( ) ;22         for ( int i=1 ; i<=N ; ++i ) {23                 A[ i ] = INPUT ( ) ;24         }25         QAQ sum = 0 ;26         27         stable_sort ( A + 1 , A + N + 1 ) ;28         29         for ( int i=1 ; i<=N ; ++i ) {30                 sum += ( QAQ ) A[ i ] * ( 4*i - 2*N - 1 ) ;31         }32         QAQ D = GCD ( sum , N ) ; 33         cout << sum / D << ‘ ‘ << N / D << endl ; 34         return 0 ; 35 }
View Code

2016-10-25  18:07:05

20161022 NOIP類比賽 T2 解題報告

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.