zoukankan      html  css  js  c++  java
  • UVA11020 Efficient Solutions

    思路

    先判断一个点能不能插入,能插入的话删除所有因为它而没有优势的点
    注意

        S.erase(it);
        it++;
    

    会RE
    要写

        S.erase(it++);
    

    代码

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <set>
    using namespace std;
    multiset<pair<int,int> > S;
    int n;
    int main(){
        // freopen("test.in","r",stdin);
        // freopen("test.out","w",stdout);
        int T,cnt=0;
        scanf("%d",&T);
        while(T--){
            cnt++;
            scanf("%d",&n);
            S.clear();
            printf("Case #%d:
    ",cnt);
            for(int i=1;i<=n;i++){
                int x,y;
                scanf("%d %d",&x,&y);
                auto it = S.lower_bound(make_pair(x,y));
                if(it==S.begin()){
                    S.insert(make_pair(x,y));
                    for(auto it2=S.upper_bound(make_pair(x,y));it2!=S.end();){
                        // printf("it1 %d,%d
    ",(*it2).first,(*it2).second);
                        if((*it2).second>=y)
                            S.erase(it2++);
                        else
                            break;
                    }
                }
                else{
                    it--;
                    if((*it).second>y){
                        S.insert(make_pair(x,y));
                        for(auto it2=S.upper_bound(make_pair(x,y));it2!=S.end();){
                            // printf("it2 %d,%d
    ",(*it2).first,(*it2).second);
                            if((*it2).second>=y)
                                S.erase(it2++);
                            else
                                break;
                        }
                    }
                }
                printf("%d
    ",S.size()); 
            }
            if(T)
                printf("
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    南阳1071
    hdu5110 dp
    hdu1199 线段树
    hdu5107 线段树
    hdu5106 数位dp
    hdu 5103 状态压缩dp
    C Strange Sorting
    hdu5102 枚举每条边的长度
    uva672
    uva473
  • 原文地址:https://www.cnblogs.com/dreagonm/p/10709771.html
Copyright © 2011-2022 走看看