• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            gzwzm06

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              1 隨筆 :: 52 文章 :: 17 評論 :: 0 Trackbacks
             1 #include <stdio.h>
             2 
             3 const int MAXN = 500001 ;
             4 __int64 a[MAXN] , c[MAXN] , cnt ;
             5 
             6 void Merge( int le, int mid, int rh);
             7 
             8 void MergeSort(int le, int rh){
             9 
            10     
            11     if (rh>le)
            12     {
            13         int mid = (le+rh) >> 1;
            14         MergeSort(le,mid);
            15         MergeSort(mid + 1,rh);
            16         Merge(le, mid, rh);
            17     }
            18 }
            19 
            20 void Merge(int le, int mid, int rh)
            21 {
            22         int i, j,
            23         tmp = 1;
            24         for (i = le, j = mid+1; i <= mid && j <= rh; ) 
            25         {
            26             if (a[j] < a[i])
            27             {
            28                 c[tmp++= a[j++];
            29                 cnt += mid - i + 1;    //記錄逆序數    
            30             }
            31             else   c[tmp++= a[i++];
            32         }
            33        while ( j <= rh )
            34                 c[tmp++= a[j++];
            35        while( i <= mid )  
            36                 c[tmp++= a[i++];
            37 
            38         for (i = le; i <= rh; ++i)
            39         {
            40             a[i] = c[i - le + 1];
            41         }
            42         
            43 }  
            44 
            45 
            46 int main()
            47 {
            48     int n , i ;
            49 
            50     while ( scanf("%d"&n) && n != 0 )
            51     {
            52         for ( i = 0 ; i < n ; i++ )
            53         {
            54             scanf("%I64d"&a[i]) ;
            55         }
            56         cnt = 0 ;
            57         MergeSort( 0, n - 1 ) ;
            58 
            59         printf("%I64d\n", cnt) ;
            60     }
            61     return 0 ;
            62 }

            posted on 2008-11-13 00:37 閱讀(408) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構
            精品久久香蕉国产线看观看亚洲| 久久夜色精品国产噜噜亚洲a| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久夜色精品国产噜噜噜亚洲AV | 国产精品九九九久久九九| 中文字幕人妻色偷偷久久| 久久久久AV综合网成人| 久久久无码精品亚洲日韩蜜臀浪潮 | 精品免费久久久久久久| 国产午夜精品理论片久久| AV无码久久久久不卡蜜桃| 国产2021久久精品| 亚洲欧美伊人久久综合一区二区| 国产成人精品久久亚洲高清不卡 | 久久人人青草97香蕉| 精品国产婷婷久久久| a高清免费毛片久久| 日产精品久久久久久久| 精品久久久久久久国产潘金莲 | 久久婷婷是五月综合色狠狠| 97超级碰碰碰碰久久久久| 久久亚洲日韩精品一区二区三区| 欧美一区二区久久精品| 久久久久亚洲AV无码专区网站 | 国产成人精品白浆久久69| 久久精品18| 99久久免费只有精品国产| 国内精品伊人久久久久| 久久精品国产亚洲av麻豆色欲| 久久久久久精品无码人妻| 久久久午夜精品福利内容| 色综合久久久久综合99| 伊人热热久久原色播放www| 天天做夜夜做久久做狠狠| 欧洲性大片xxxxx久久久| 久久亚洲精品无码播放| 欧美色综合久久久久久| 久久人人爽人人爽人人片AV不| 久久综合久久美利坚合众国| 久久国产色av免费看| 国产精品9999久久久久|