啊啊啊全RE本人已疯,在线等,非常急
  • 板块P1908 逆序对
  • 楼主youdu666
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/7/5 18:41
  • 上次更新2023/10/27 21:48:39
查看原帖
啊啊啊全RE本人已疯,在线等,非常急
329698
youdu666楼主2022/7/5 18:41
#include<cstdio>
#include<algorithm>
#define int long long
using namespace std;
const signed N=500001;
inline int read()
{
    int x=0,y=1;
    char c=getchar();
    while(c>'9'||c<'0')
    {
        if(c=='-')
            y=-1;
        c=getchar();
    }
    while(c<='9'&&c>='0')
    {
        x=x*10+c-'0';
        c=getchar();
    }
    return x*y;
}
int n,c[N],a[N];
inline int lowbit(int x)
{
    return x&(-x);
}
inline void update(int x,int y)
{
    //y%=mod;
    for(;x<=n;x+=lowbit(x))
    {
        c[x]+=y;
        //c[x]%=mod;
    }
    return;
}
inline int sum(int x)
{
    int ans=0;
    for(;x;x-=lowbit(x))
    {
        ans+=c[x];
        //ans%=mod;
    }
    return ans;
}
signed main()
{
    n=read();
    int anss=0;
    for(signed i=1;i<=n;i++)
        a[i]=read();
    for(signed i=1;i<=n;i++)
    {
        anss+=sum(n)-sum(a[i]);
        update(a[i],1);
        //anss%=mod;
    }
    printf("%lld\n",anss);
}

该加的都加了怎么还re

2022/7/5 18:41
加载中...