zoukankan      html  css  js  c++  java
  • POJ 2299

     1 #include<iostream>
     2 #include<stdio.h>
     3 #define MAXN 500000  
     4 using namespace std;
     5 
     6 int a[MAXN];
     7 int c[MAXN];
     8 long long n;
     9 void Merge(int le, int mid, int rh);
    10 void MergeSort(int le, int rh);
    11 int main()
    12 {
    13     //freopen("acm.acm","r",stdin);
    14     int num;
    15     int i;
    16     while(cin>>num && num)
    17     {
    18         n = 0;
    19         for(i = 0; i < num; ++ i)
    20             cin>>a[i];
    21         MergeSort(0,num-1);
    22         //for(i = 0; i < num; ++ i)
    23         //    cout<<a[i]<<" ";
    24         //cout<<endl;
    25         cout<<n<<endl;
    26     }
    27 }
    28 
    29 void MergeSort(int le, int rh){
    30   
    31      
    32      if (rh>le)
    33      {
    34          int mid = (le+rh) >> 1;
    35          MergeSort(le,mid);
    36          MergeSort(mid + 1,rh);
    37          Merge(le, mid, rh);
    38      }
    39  }
    40  
    41  void Merge(int le, int mid, int rh)
    42  {
    43          int i, j,p = 1;
    44          for (i = le, j = mid+1; i <= mid && j <= rh; ) 
    45          {
    46              if (a[j] < a[i])
    47              {
    48                  c[p++] = a[j++];
    49                  n += mid - i + 1;    
    50              }
    51              else   c[p++] = a[i++];
    52          }
    53         while ( j <= rh )
    54                  c[p++] = a[j++];
    55         while( i <= mid )  
    56                  c[p++] = a[i++];
    57  
    58          for (i = le; i <= rh; ++i)        
    59          {
    60              a[i] = c[i - le + 1];
    61          }
    62  }  
  • 相关阅读:
    Mybatis详解(二)
    Mybatis详解(一)
    Java集合
    Java基础之IO
    Java异常知识点!
    HTTP状态码
    ajax传字符串时出现乱码问题的解决
    Json 文件 : 出现 Expected value at 1:0 问题的解决
    java @XmlTransient与@Transient区别
    文件的上传和回显
  • 原文地址:https://www.cnblogs.com/gavinsp/p/4566747.html
Copyright © 2011-2022 走看看