0pts求助

P1908 逆序对

WhileTrueRP @ 2023-09-24 16:06:16

#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
const int N = 5e5+5;
int a[N],b[N];
long long ans = 0;
void sort(int l,int r){
    if(l == r){
        return;
    }
    int mid = (l+r)/2;
    sort(l,mid);
    sort(mid+1,r);
    int i = l,j = mid+1;
    int t = l;
    while(i <= mid && j <= r){
        if(a[i] > a[j]){
            ans += mid-i+1;
            b[t++] = a[j];
            j++;
        }else{
            b[t++] = a[i];
            i++;
        }
    }
    while(i <= mid){
        b[t++] = a[i];
        i++;
    }
    while(j <= r){
        b[t++] = b[j];
        j++;
    }
    for(int i=l;i<=r;i++){
        a[i] = b[i];
    }
    return;
}
signed main(){
    int n;
    scanf("%lld",&n);
    for(int i=1;i<=n;i++){
        scanf("%lld",&a[i]);
    }
    sort(1,n);
    printf("%lld",ans);
}

by MC_YFGP @ 2023-09-24 16:11:34

你是SB 洛谷管理员都是S.B 洛谷管理员都是S.B 洛谷管理员都是S.B 洛谷管理员都是S.B 洛谷管理员都是S.B 洛谷管理员都是.S.B 洛谷管理员都是S.B 洛谷管理员都是F.W 洛谷管理员都是F.W 都没有JJ 一坨F.W 大便大便 傻逼们

@kkksc03

@小粪土


by zjr0330 @ 2023-09-24 16:49:39

@MC_YFGP @MC_YFGP 6


by LittleTian @ 2023-10-12 16:28:06

俺也一样,hxd你解决了吗


|