我太菜了,都会离散化和差分,还想了好久
#include <bits/stdc++.h>
using namespace std;
const int MAXN=4e5+100;
long long num[MAXN];
long long temp_num[MAXN];
int n;
int mp[MAXN];
void LS(int n)
{
int m=0;
for(int i=1; i<=n; ++i)
temp_num[++m]=num[i];
sort(temp_num+1,temp_num+1+m);
m=unique(temp_num+1,temp_num+1+m)-temp_num-1;
for(int i=1; i<=n; ++i)
num[i]=lower_bound(temp_num+1,temp_num+1+m,num[i])-temp_num;
return ;
}
int main(){
int t;
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n*2;i++) cin>>num[i];
LS(n*2);
/*
for(int i=1;i<=n*2;i++) cout<<num[i]<<" ";
cout<<endl;
*/
fill(mp,mp+2*n,0);
for(int i=1;i<=n*2;i++){
if(i%2==1){
mp[num[i]]++;
mp[num[i+1]+1]--;
}
}
int ans=-1;
for(int i=1;i<=n*2;i++){
mp[i]+=mp[i-1];
ans=max(mp[i],ans);
}
cout<<ans<<endl;
}
return 0;
}