RE 0求助
  • 板块P1908 逆序对
  • 楼主QZY2008
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/9/29 19:21
  • 上次更新2023/11/4 05:22:25
查看原帖
RE 0求助
547609
QZY2008楼主2021/9/29 19:21

RT

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e6+1;
ll c[N];//树状数组 
inline ll lowbit(ll x){
	return x&-x;
}
inline void updata(ll x,ll y){
	for (;x<N;x+=lowbit(x))
		c[x]+=y;
}
inline ll query(ll len){
	ll res=0;
	for (;len;len-=lowbit(len))
		res+=c[len];
	return res; 
} 
ll n;
ll ans=0;
ll num;
int main(){
	scanf("%lld",&n);
	for (ll i=1;i<=n;i++){
		scanf("%lld",&num);
		updata(num,1);
		ans+=i-query(num);
	}
	printf("%lld\n",ans);
}
2021/9/29 19:21
加载中...