两个信息 首先对第一个关键字排序 这里用一个pair 内置了排序。。。
pair<int,int> p
然后我们只看 第二个关键字 对于 i 如果 i+1,n 这个区间 有大于它的 ans++
用g数组 处理最大值 g[i] 为 (i,n) 的最大值
所以只需判断 f(p[i].second<=g[i+1])
int g[maxn]; P p[maxn]; int n,ans; int main(){ n=re; For(i,1,n) p[i].first=re,p[i].second=re; sort(p+1,p+1+n); for(int i=n;i>=1;--i) g[i]=max(g[i+1],p[i].second); For(i,1,n) if(p[i].second<=g[i+1]) ans++; cout<<ans; }