树状数组,萌新求助
  • 板块学术版
  • 楼主ychych
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/4/1 16:35
  • 上次更新2023/11/5 01:16:23
查看原帖
树状数组,萌新求助
411646
ychych楼主2021/4/1 16:35

这是一道裸的求逆序对

本蒟蒻就是过不了

求解

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a,c[50005];
ll jia(ll d,int where){
	for(int i=where;i<=n;i+=i&(-i))c[i]+=d;
}
ll getsum(ll d){
	ll sum=0;
	for(int i=d;i>0;i-=i&(-i))sum+=c[i];
	return sum;
}
int main(){
	ll sum=0;
	scanf("%lld",&n);
	for(int i=1;i<=n;i++){
		scanf("%lld",&a);
		jia(a,i);
		sum+=getsum(n)-getsum(a);
	}
	cout<<sum;
	return 0;
}
2021/4/1 16:35
加载中...