zoukankan      html  css  js  c++  java
  • SET的用法

    begin() 返回指向第一个元素的迭代器

     

    clear() 清除所有元素

     

    count() 返回某个值元素的个数

     

    empty() 如果集合为空,返回true

     

    end() 返回指向最后一个元素的迭代器

     

    equal_range() 返回集合中与给定值相等的上下限的两个迭代器

     

    erase() 删除集合中的元素

     

    find() 返回一个指向被查找到元素的迭代器

     

    get_allocator() 返回集合的分配器

     

    insert() 在集合中插入元素

     

    lower_bound() 返回指向大于(或等于)某值的第一个元素的迭代器

     

    key_comp() 返回一个用于元素间值比较的函数

     

    max_size() 返回集合能容纳的元素的最大限值

     

    rbegin() 返回指向集合中最后一个元素的反向迭代器

     

    rend() 返回指向集合中第一个元素的反向迭代器

     

    size() 集合中元素的数目

     

    swap() 交换两个集合变量

     

    upper_bound() 返回大于某个值元素的迭代器

     

    value_comp() 返回一个用于比较元素间的值的函数

    BZOJ p2761 

    #include <cstdio>
    #include <cstring>
    #include <set>
    const int maxn=50010;
    using namespace std;
    int n,m,t; int tmp;
    int ans[maxn+1];
    int main()
      { scanf("%d",&t);    
        while (t--)
         {  set<int>S; int tt=0;
             scanf("%d",&n);
             for (int i=1;i<=n;i++)
              { scanf("%d",&tmp);
                if (S.count(tmp)<1)  
                  ans[++tt]=tmp,S.insert(tmp);
                }
            for (int i=1;i<=tt;i++)
              if (i!=tt) printf("%d ",ans[i]);
              else printf("%d
    ",ans[i]);
           }
      }
    View Code

    BZOJ p1208

    #include<cstdio>
    #include<set>
    using namespace std;
    const int inf=~0U>>2;
    typedef set<int>::iterator sit;
    set<int> s;
    
    int main()
      {int n,a,b,ans=0,type;
       scanf("%d",&n);
       s.insert(inf); s.insert(-inf);
       while (n--)
        {scanf("%d%d",&a,&b); 
         if (s.size()==2)type=a,s.insert(b);
         else if(type==a)s.insert(b);
         else
         {sit i=s.lower_bound(b);
          int r=*i-b,l=b-*(--i);
          if (l<=r)  ans+=l,s.erase(i);
          else ans+=r,s.erase(++i);
          ans%=1000000;}
        }
       printf("%d
    ",ans);
      }
    View Code
  • 相关阅读:
    Android6.0以后动态增加权限
    Failed to resolve: junit:junit:4.12
    tflite
    error: undefined reference to `cv::imread(std::string const&, int)'
    Makefile
    tf模型可视化工具
    linux c++下遍历文件
    mobilenetV3
    centos7安装mxnet
    chrome的一些插件
  • 原文地址:https://www.cnblogs.com/williamchenwl/p/3638544.html
Copyright © 2011-2022 走看看