bitset常用函数

Posted wlzs1432

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bitset常用函数相关的知识,希望对你有一定的参考价值。

bitset常用函数

什么是bitset

bitset存储二进制数位。

bitset中的一个元素一般只占1 bit。

bitset中的每个元素都能单独被访问,整数类型和布尔数组都能转化成bitset。

bitset的大小在编译时就需要确定。如果你想要不确定长度的bitset,请使用vector容器。

所以bitset优化的题的复杂度要除一个位数,通常为32

卡常专用.jpg

如何定义bitset

需要一行头文件

#include <bitset>

定义bitset

bitset<4>a;//4是长度
//a= 0000

bitset<4>b(string("1111"))

//a=1111

bitset可以进行与(&)、或(|)、异或(^)、左移(<<)、右移(>>)等操作。

bitset常用函数

.size() 返回大小(位数)
.count() 返回1的个数
.any() 返回是否有1
.none() 返回是否没有1
.set() 全都变成1
.set(p) 将第p + 1位变成1
.set(p, x) 将第p + 1位变成x
.reset() 全都变成0
.reset(p) 将第p + 1位变成0
.flip() 全都取反
.flip(p) 将第p + 1位取反
.test(i) 第i位是否是1

最后

你就可以去做题了

比如一道入门题,bitset优化Floyd传递闭包

 [JSOI2010]连通数












以上是关于bitset常用函数的主要内容,如果未能解决你的问题,请参考以下文章

21个常用代码片段

常用Javascript代码片段集锦

nodejs常用代码片段

JS常用代码片段-127个常用罗列-值得收藏

比特位计数--C++ bitset 用法

bitset库