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

bitset常用函数

时间:2018-08-19 00:58:56      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:返回   优化   word   如何   none   count()   style   ring   key   

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常用函数

标签:返回   优化   word   如何   none   count()   style   ring   key   

原文地址:https://www.cnblogs.com/wlzs1432/p/9499243.html

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