码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #Pi (Div. 2) B Berland National Library

时间:2015-08-06 13:16:45      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:codeforces round #pi   berland national lib   codeforces   acm   stl   

思路:对于这道题,一开始并没有什么思路,但后来想了下,其实就是维护一个集合,每一个人都是不同的元素,满足了集合的互异性,而要求这个图书馆最小的容纳量,其实就是求这个集合的最大的元素量,假设在某个时刻集合里存在M个元素,是集合从开始到结束出现过的元素个数的最大值,那么就是这个图书馆的最小容纳量,如果最小容纳量比M小,那怎么容得下M个人?对于+,   他之前肯定是没进或者之前出来股,无论怎样,都要加进集合。

对于一个集合的操作,在cf种时间为上的比赛,自然选用stl的set,如果各位有更好的思路或实现方法,一定要指教我


题目链接:http://codeforces.com/problemset/problem/567/B


#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<set>
using namespace std;
int main(void)
{
    int n;
    while(~scanf("%d",&n))
    {
        set<int> s;
        int ans=0;
        for(int i=0;i<n;i++)
        {
            getchar();
            char ch;int num;
            scanf("%c",&ch);
            scanf("%d",&num);
            if(ch=='+')
            {
                s.insert(num);
                int d=s.size();
                ans=max(d,ans);
            }
            else
            {
              if(s.find(num)==s.end())
                 ans++;
               else s.erase(num);
               int d=s.size();
               ans=max(d,ans);
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}


版权声明:转载务必请标明出处,谢谢

Codeforces Round #Pi (Div. 2) B Berland National Library

标签:codeforces round #pi   berland national lib   codeforces   acm   stl   

原文地址:http://blog.csdn.net/wyt734933289/article/details/47314397

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!