hdu4268Alice and Bob(multise)

来源:互联网 发布:一个能看网络攻击网站 编辑:程序博客网 时间:2024/06/05 04:02

题目链接:点击打开链接

#include<stdio.h>
#include<set>
#include<algorithm>
#define LL long long
using namespace std;
struct node{
LL h;
LL w;
}a[100100],b[100100];
bool cmp(node aa,node bb)
{
return aa.w<bb.w;
}
multiset<LL>ms;
multiset<LL>::iterator it;
int main()
{
int t,n,i,j,s;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lld%lld",&a[i].h,&a[i].w);
sort(a,a+n,cmp);
for(i=0;i<n;i++)
scanf("%lld%lld",&b[i].h,&b[i].w);
sort(b,b+n,cmp);
s=0;
ms.clear();
for(i=0,j=0;i<n;i++)
{
for(;j<n&&a[i].w>=b[j].w;j++)
ms.insert(b[j].h);
if(ms.empty())
continue;
it=ms.lower_bound(a[i].h);
if(it==ms.end()||*it>a[i].h)
it--;
if(*it<=a[i].h)
{
s++;
ms.erase(it);
}
}
printf("%d\n",s);
}
return 0;
}


0 0
原创粉丝点击