S T L

关于STL在OI中的应用

如何遍历一个STL容器:
set举例

for(set<int>::iterator it=s.begin();it!=s.end();it++)
	cout<<*it<<endl;

Bitset:

定义:bitset< N >s:N表位数

大二进制数
支持 ~ & | ^ << >> == !=
也可以类似于数组直接访问\(s[k]\),支持赋值和取值
\(s.count()\):返回有多少位为\(1\)
\(s.any()\):有\(1\)返回\(true\)
\(s.none()\):没\(1\)返回\(true\)

Set

++\(it\)
时间复杂度:\(O(log_n)\)
\(s.find(x)\) :查找元素\(x\) ,有的话返回迭代器,否则返回\(s.end()\)

\(s.upper\) _ \(bound(x)\)
\(s.lower\) _ \(bound(x)\)
复杂度\(O(log_n)\)
返回迭代器

\(s.erase(x)\):可删迭代器和值,如果删值会全删光,如果想删一个:\(multiset\)可以执行:

if((it=s.find(x))!=s.end())s.erase(it);

复杂度\(O(k+log_n)\)

\(s.count(x)\):有多少个元素值为\(x\)

复杂度\(O(k+log_n)\)

Map

看成一个大桶或是一棵平衡树

posted @ 2020-08-19 10:49  Isenthalpic  阅读(191)  评论(1编辑  收藏  举报