全RE……求dalao
  • 板块P1908 逆序对
  • 楼主xiao_qiu
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/3 16:12
  • 上次更新2024/7/3 18:16:14
查看原帖
全RE……求dalao
1239270
xiao_qiu楼主2024/7/3 16:12
#include<bits/stdc++.h>
#define inx 500010
using namespace std;
long long e[inx],n,a[inx],ans;
void fix(long long x)
{
	for(long long i=x;i<=inx;i+=i&-i) e[i]++;
}
long long getsum(long long x)
{
	long long ret=0;
	for(long long i=x;i;i-=i&-i) ret+=e[i];
	return ret;
 } 
int main()
{
	scanf("%lld",&n);
	for(long long i=1;i<=n;i++) scanf("%lld",&a[i]);
	for(long long i=n;i;i--)
	{
		ans+=getsum(a[i]-1);
		fix(a[i]);
	}
	printf("%lld",ans);
	return 0;
}
2024/7/3 16:12
加载中...