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

清北学堂(2019 5 3) part 6

时间:2019-05-03 11:46:43      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:noip   维护   调用   操作   成员   使用   inf   杀手锏   覆盖   

今天讲STL

1.pair——<algorithm>

  声明形如pair<int,int> x;(不是int也可以),表示x有前后两个成员,都是int类型,调用时写x.first(second);

  对pair声明的变量可以不自定义cmp函数,先按照pair中第一个元素优先排序,再按第二个,即第一个元素相同时对第二个元素排序,

  同时pair支持这种操作:pair<pair<int,int>,int>;

2.vector——<queue>/<vector>

  基本函数:

技术图片

  

3.iterator(迭代器)——<vector>

  技术图片

  

4.set——<set>

  STL集合,使用...红黑树(啥?)维护的集合,保证元素有序,且无重复元素

基本函数:

技术图片

  用结构体时需在结构体中写个重载运算符,来定义排序变量

5.map——<map>

  可以进行类似以下操作:

#include<bits/stdc++.h>
map<string,int> a;
a["cxk"]=233;
using namespace std;
int main(){
    ...
}

  简单来说就是用前面定义的类型指向个后面定义的类型

6.stack,queue(它们操作很像)——前者<stack>,后者<queue>

  学过不解释

7.sort(学过)——<algorithm>

  sort可以根据迭代器排序

8.unique,fill——<algorithm>

  unique:去重函数,只能用于排过序的数组,

  fill:将某一范围的元素全部覆盖为指定元素

9.next_permutation——<algorithm>

  形如next_permutation(a+1,a+n+1);  

  即为判断a[1]到a[n]的某排列的是否存在下一个排列,按字典序排列,

10.binary_search——<algorithm>

  官方二分,需要数据有序

11.nth_element——<algorithm>

  将数列分成某个元素之前,某个元素,某个元素之后三部分,即用指定数据将数列分成两部分(不包括数据本身)

12.srand与rand——<algorithm>

  在noip的杀手锏

  srand定义随机种子,rand根据随机种子算出其值,然而直接输出只能输出41

  所以一般这么写srand(time(0));

  time——<ctime>

今天东西好少a

清北学堂(2019 5 3) part 6

标签:noip   维护   调用   操作   成员   使用   inf   杀手锏   覆盖   

原文地址:https://www.cnblogs.com/648-233/p/10804548.html

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