zoukankan      html  css  js  c++  java
  • 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]连通数

  • 相关阅读:
    DOS命令收集
    iis6配置支持.net4.0
    正则表达式限制文本框
    剖析XML(第一讲)
    DataTime.ToString("xx") 转换
    .net面试题大汇集
    django学习笔记(一)
    django学习笔记(一)
    django学习笔记(二)
    django学习笔记(二)
  • 原文地址:https://www.cnblogs.com/wlzs1432/p/9499243.html
Copyright © 2011-2022 走看看