zoukankan      html  css  js  c++  java
  • POJ--3190 Stall Reservations(贪心排序)

    这里 3190 Stall Reservations

    按照吃草时间排序 之后我们用 优先队列维护一个结束时间 每次比较堆顶 看是否满足 满足更新后放到里面不满足就在后面添加

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #include<queue>
    using namespace std;
    const int maxn=60000;
    int n,c[maxn];
    struct ac{
        int l,r,z;
        bool operator <(const ac &a)const
        {
            if(r==a.r)
                return l>a.l;
          return r>a.r;
        }
    }a[maxn];
    priority_queue<ac> q;
    bool cmp(ac a,ac b){
        if(a.l==b.l) return a.r<b.r;
        return a.l<b.l;
    }
    int main(){
        cin>>n;
        for(int i=0;i<n;i++){
            scanf("%d%d",&a[i].l,&a[i].r);
            a[i].z=i;
        }
        sort(a,a+n,cmp);
        q.push(a[0]);
        int ll=0,len=1;
        c[a[0].z]=1;
        for(int i=1;i<n;i++){
            if(!q.empty()&&q.top().r<a[i].l){
              c[a[i].z]=c[q.top().z];
              q.pop();
            }else{
              len++;
              c[a[i].z]=len;
            }
            q.push(a[i]);
        }
        printf("%d
    ",len);
        for(int i=0;i<n;i++)
            printf("%d
    ",c[i]);
        return 0;
    }
  • 相关阅读:
    BigDecimal用法详解
    Spring IOC的配置使用
    Spring IOC容器基本原理
    Spring IOC基础
    Spring基础
    Spring概述
    win7+jdk环境变量配置
    订单状态
    项目经理与项目管理整理
    top命令按内存和cpu排序
  • 原文地址:https://www.cnblogs.com/Dvelpro/p/10028941.html
Copyright © 2011-2022 走看看