标签:
2 2 1 2 3 4 2 3 4 5 3 2 3 5 7 6 8 4 1 2 5 3 4
1 2
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
#include<set>
using namespace std;
struct node
{
int a;
int b;
};
node q[200110],q1[200110];
__int64 vis[200110];
multiset<int>s;
std::multiset<int>::iterator it;
bool cmp(node a,node b)
{
if(a.b==b.b)
{
return a.a<b.a;
}
return a.b<b.b;
}
int main()
{
int T,n;
scanf("%d",&T);
while(T--)
{
s.clear();
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
scanf("%d%d",&q[i].a,&q[i].b);
}
for(int i=1; i<=n; i++)
{
scanf("%d%d",&q1[i].a,&q1[i].b);
}
sort(q+1,q+1+n,cmp);
sort(q1+1,q1+1+n,cmp);
int x=1;
int ans=0;
memset(vis,0,sizeof(vis));
for(int i=1; i<=n; i++)
{
while(x<=n&&q1[x].b<=q[i].b)
{
s.insert(q1[x].a);
x++;
}
if(s.size()==0)
{
continue;
}
it=s.lower_bound(q[i].a);
if(*(it)==q[i].a)
{
s.erase(it);
ans++;
}
else
{
if(it!=s.begin())
{
--it;
s.erase(it);
ans++;
}
}
}
printf("%d\n",ans);
}
return 0;
}版权声明:本文为博主原创文章,如有特殊需要请与博主联系 QQ : 793977586。
标签:
原文地址:http://blog.csdn.net/yeguxin/article/details/48000085