来源于CF1676H2题目,遇到一个求逆序对的问题,咱也不敢问为什么能这么求啊。 求逆序对用途:给一个序列,求出逆序对,$O(log_2n)$ 123456789101112131415161718#include<iostream>#include <vector>using namespace std;int main() { int t; cin>>t; while(t--){ long long n,rez=0; cin>>n; vector<int> a(n),T(n+1); for(int i=0;i<n;i++) cin>>a[i]; for(int i=n-1;i>=0;i--){ for(int x=a[i];x>0;x -= x&-x) rez+=T[x]; for(int x=a[i];x<=n;x+=x&-x) T[x]+=1; } cout<<rez<<'\n'; } return 0;}