为啥全re了啊

P1908 逆序对

溪水瑶 @ 2019-08-07 15:45:57

表示很蒙啊

#include<bits/stdc++.h>
using namespace std;
const int N=500010;
int n,a[N<<1],c[N<<1],ans;
int ask(int x)
{
    int sum=0;
    for(;x;x-=x&-x)sum+=c[x];
    return sum;
}
void add(int x,int y){
    for(;x<=N;x+=x&-x)c[x]+=y;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=n;i;i--)
    {
        ans+=ask(a[i]-1);
        add(a[i],1);
    }
    cout<<ans<<endl;
}

by Y15BeTa @ 2019-08-07 15:50:21

数组开大了QwQ


by 溪水瑶 @ 2019-08-07 15:51:29

@TwxAqu 我还以为小了呢


by 溪水瑶 @ 2019-08-07 15:53:04

N=50010都是re的啊


by 溪水瑶 @ 2019-08-07 15:59:39

各位大佬救救我呗QAQ


by la_un_ty @ 2019-08-07 15:59:57

@溪水瑶

我感觉应该给x&-x加个括号


by 溪水瑶 @ 2019-08-07 16:00:42

@我不是人造革 为啥要括号qwq


by 溪水瑶 @ 2019-08-07 16:01:32

而且书上的也没加的呀


by yu__xuan @ 2019-08-07 16:03:07

离散化???


by la_un_ty @ 2019-08-07 16:04:26

emmmm


by 溪水瑶 @ 2019-08-07 16:04:32

@yu__xuan 我只知道是树状数组找的逆序对(根本不知道啥是离散化QAQ)


| 下一页