不对吗?

P1908 逆序对

淇淇 @ 2019-08-06 21:03:08

#include <bits/stdc++.h>
using namespace std;
int a[100100],ans=0;
int main()
{
    long long n;
    cin>>n;
    for(long long i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(long long i=0;i<n;i++)
    {
        for(long long j=i;j<n;j++)
        {
            if(a[i]>a[j] && i<j) ans++;
        }
    }
    cout<<ans<<endl;
    return 0;
}

by Irppy3_40 @ 2019-08-06 21:06:26

@淇淇 这题数据太大,这样子会超时,以后学归并排序或树状数组再来做吧


by 向JFCA说不 @ 2019-08-06 21:07:43

@淇淇 应该不会n方过50万吧 by chen_zhe


by hfee @ 2019-08-06 21:08:37

@淇淇 这题用的归并排序,这样会超时


by 反手for循环 @ 2019-08-06 21:08:58

用冒泡排序来求逆序对可以是可以,不过效率不高,不适合题目的数据。


by 反手for循环 @ 2019-08-06 21:09:28

建议用归并排序。


by 淇淇 @ 2019-08-07 08:59:34

@反手for循环

@白狼与玫瑰

谢谢~~


|