zoukankan      html  css  js  c++  java
  • Luogu_P2161[SHOI2009]会场预约【题解】set

    题面:https://www.luogu.org/problem/P2161

    可以用set水。

    先把 l , r 存在结构体里面。

    重定义小于号。

    struct node{
        int l,r;
        node(){}
        node(int _l,int _r){l=_l,r=_r;}
        inline bool operator < (const node &x) const {return r<x.l ;}
    };

    让右端点小于左端点。就是没有交。

    那么find找的时候就是找a.l<b.r && b.l<a.r 。

    也就是相交的。

    代码如下:

    #include<bits/stdc++.h>
    using namespace std;
    int n;
    struct node{
        int l,r;
        node(){}
        node(int _l,int _r){l=_l,r=_r;}
        inline bool operator < (const node &x) const {return r<x.l ;}
    };set<node> st;
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            char s[10];scanf("%s",s);
            if(s[0]=='A'){
                int x,y,tot=0;scanf("%d%d",&x,&y);node tp=node(x,y);
                set<node>::iterator it=st.find(tp);
                while(it!=st.end()){
                    ++tot;st.erase(it);it=st.find(tp);
                }
                st.insert(tp);printf("%d
    ",tot);
            }else
                printf("%lld
    ",st.size());
        }
        return 0;
    }
  • 相关阅读:
    C# WebBrowser屏蔽alert的方法
    C# webbrowser实现真正意义上的F5刷新
    用于验证码图片识别的类(C#源码)
    递归
    排列组合数
    八皇后问题
    算24
    素数环
    acm
    qsort
  • 原文地址:https://www.cnblogs.com/ChrisKKK/p/11595672.html
Copyright © 2011-2022 走看看