给你若干个区间的左右端点,只关心区间的相对关系(包含,相交。。)将这些区间信息离散化怎么实现?
题解里看到了如下代码但小蒟蒻不能理解
for(int i=1;i<=n;i++){
int u,v;
scanf("%d%d",&u,&v);
a[i].len=v-u;
a[i].ord=i;
cur++;
p[cur].val=u;
p[cur].ord=i;
cur++;
p[cur].val=v;
p[cur].ord=i;
}
sort(p+1,p+cur+1,Cmp1);
int num=0;
p[0].val=-1;
for(int i=1;i<=cur;i++){
if(p[i].val!=p[i-1].val)
num++;
int u=p[i].ord;
if(!L[u])
L[u]=num;
else R[u]=num;
}
Right=num;