#大佬求助#
  • 板块P1908 逆序对
  • 楼主Skies
  • 当前回复40
  • 已保存回复40
  • 发布时间2020/7/19 11:09
  • 上次更新2023/11/6 22:51:05
查看原帖
#大佬求助#
125212
Skies楼主2020/7/19 11:09
#include<bits/stdc++.h>
using namespace std;
const int N=5e5+5;
int a[N],c[N];
int n;
int ask(int x)
{
	int ans=0;
	for(;x>0;x-=x&-x)ans+=c[x];
	return ans;
}

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];
//		add(i,1);
	}
	int ans=0;
	for(int i=n;i>0;i--)
	{
		ans+=ask(a[i]-1);
		add(a[i],1);
	}
	cout<<ans;
	return 0;
}

all RE,help!!!

2020/7/19 11:09
加载中...