求助,如何将区间离散化
  • 板块学术版
  • 楼主loris
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/10/8 18:50
  • 上次更新2023/11/4 04:20:23
查看原帖
求助,如何将区间离散化
130104
loris楼主2021/10/8 18:50

给你若干个区间的左右端点,只关心区间的相对关系(包含,相交。。)将这些区间信息离散化怎么实现?
题解里看到了如下代码但小蒟蒻不能理解

 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;
2021/10/8 18:50
加载中...