zoukankan      html  css  js  c++  java
  • wikioi 1688--求逆序对

    题目描述:给定数组,求逆序对的个数

    思路:归并排序,归并的时候改变计数,当前面的元素比后面元素大则计数cnt+=(m-i)+1

    没有AC的版本

     1 #include <iostream>
     2 #include <queue>
     3 #include <climits>
     4 #include <algorithm>
     5 #include <memory.h>
     6 #include <stdio.h>
     7 #include <ostream>
     8 #include <vector>
     9 #include <list>
    10 #include <cmath>
    11 #include <string>
    12 #include <stdexcept>
    13 #include <stack>
    14 #include <map>
    15 using namespace std;
    16 
    17 vector<int> a;
    18 vector<int> tmpa;
    19 int ans;
    20 void mergeArray(int l,int mid,int r)
    21 {
    22     int i = l;
    23     int j = mid+1;
    24     int k = l;
    25     while(i <= mid && j <=r)
    26     {
    27         if(a[i] > a[j])
    28         {
    29             tmpa[k++] = a[j++];
    30             ans += mid-i+1;
    31         }
    32         else
    33         {
    34             tmpa[k++] = a[i++];
    35         }
    36     }
    37     while(i <= mid)
    38         tmpa[k++] = a[i++];
    39     while(j <= r)
    40         tmpa[k++] = a[j++];
    41     for(i = l;i<=r;++i)
    42         a[i] = tmpa[i];
    43 }
    44 void merge_sort(int l,int r)
    45 {
    46     if(l<r)
    47     {
    48         int mid = (l+r)/2;
    49         merge_sort(l,mid);
    50         merge_sort(mid+1,r);
    51         mergeArray(l,mid,r);
    52     }
    53 }
    54 
    55 int main()
    56 {
    57     ans = 0;
    58     int n;
    59     cin>>n;
    60     for(int i = 0 ; i < n ; ++i)
    61     {
    62         int tmp;
    63         cin>>tmp;
    64         a.push_back(tmp);
    65         tmpa.push_back(tmp);
    66     }
    67     merge_sort(0,n-1);
    68     cout<<ans<<endl;
    69     return 0;
    70 }
  • 相关阅读:
    express 连接 moogdb 数据库
    数组 去重
    vue 路由meta 设置title 导航隐藏
    :src 三目运算
    axios baseURL
    js对象修改 键
    Swiper隐藏后在显示滑动问题
    字符串中的替换
    获取服务器时间
    vue a链接 添加参数
  • 原文地址:https://www.cnblogs.com/cane/p/3811017.html
Copyright © 2011-2022 走看看