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常用函数的主要内容,如果未能解决你的问题,请参考以下文章