bitset用法

bitset经常用于状态压缩,以下是一些常见的操作

bitset的操作

成员函数函数功能
bs.any()是否存在值为1的二进制位
bs.none()是否不存在值为1的二进制位
或者说是否全部位为0
bs.size()位长,也即是非模板参数值
bs.count()值为1的个数
bs.test(pos)测试pos处的二进制位是否为1
与0做或运算
bs.set()全部位置1
bs.set(pos)pos位处的二进制位置1
与1做或运算
bs.reset()全部位置0
bs.reset(pos)pos位处的二进制位置0
与0做或运算
bs.flip()全部位逐位取反
bs.flip(pos)pos处的二进制位取反
bs.to_ulong()将二进制转换为unsigned long输出
bs.to_string()将二进制转换为字符串输出
~bs按位取反
效果等效为bs.flip()
os << b将二进制位输出到os流
小值在右,大值在左

例题:poj-2443及题解

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值