Bitset 学习笔记 + 做题记录(补充动态规划)
一、bitset
bitset 是 C++ 标准库 <bitset> 中的一个模板类,用于表示和操作固定大小的二进制位序列(bit sequence)。它本质上是一个大小不可变的、高效的位数组,专门用于处理二进制位操作(严格意义上不属于 STL),相比于手动使用整数或数组来操作位,bitset 提供了更简洁、高效且安全的接口。
特点:
- 固定大小:在定义时必须指定位数 ,如
bitset<32>表示 32 位。 - 高效存储:每个位只占用
1 bit(而非1 byte),内存使用非常紧凑。 - 适用于需要高效处理二进制、状态压缩等场景。
例子:
1 |
|
bitset 常见函数:
| 操作方式 | 说明 |
|---|---|
b[i] |
访问第 位(从 0 开始) |
b.test(i) |
检查第 位是否为 1 |
b.set(i) |
把第 位设为 1 |
b.set() |
全部设为 1 |
b.reset(i) |
把第 位设为 0 |
b.reset() |
全部设为 0 |
b.flip(i) |
把第 位取反 |
b.flip() |
所有位取反 |
b.count() |
返回有多少个 1 |
b.any() |
是否至少有一个 1 |
b.none() |
是否全是 0 |
T1 集合操作
题目描述
本博客所有文章除特别声明外,均采用 GNU GPL 3.0 许可协议。转载请注明来源 FrankWkd!

