当前位置: 首页 > news >正文

01串(二进制串)与集合之间存在天然的对应关系 ← bitset

【集合的二进制表示‌】
● 01 串(二进制串)与集合之间存在天然的对应关系。对应机理为
每个二进制位可以表示集合中一个元素的存在(1)或不存在(0)。例如,集合 {a, b, c} 的子集 {a, c} 可以表示为 101(假设顺序为 a、b、c),全集表示为 111,空集表示为 000。

● 集合的二进制表示是一种非常直观且高效的方式,尤其适用于有限集合的子集枚举或状态压缩。

● 
一个长度为 n 的二进制串可以表示 2^n 个子集。例如:n=3 时,有 000、001、010、011、100、101、110、111 共8个子集。

【集合运算与位运算】
交集‌ → a & b(按位与)
‌并集‌ → a | b(按位或)
对称差集‌ → a ^ b(按位异或)
差集‌ → a & (~b)

bitset 与集合的关系】
bitset‌ 是一种固定大小的二进制位容器,每个位表示集合中元素的存在(1)或不存在(0)。

#include <bits/stdc++.h>
using namespace std;int main() {bitset<8> setA("11001100"); //{2,3,6,7}bitset<8> setB("10101010"); //{1,3,5,7}cout<<(setA & setB)<<endl; //10001000cout<<(setA | setB)<<endl; //11101110cout<<(setA ^ setB)<<endl; //01100110cout<<(setA & ~setB)<<endl; //01000100return 0;
}


 

http://www.dtcms.com/a/230646.html

相关文章:

  • 应用层协议:HTTP
  • 圣杯布局和双飞翼布局
  • AtCoder解析大全
  • 单锁与分布式锁
  • 618浴室柜推荐,小户型浴室柜怎么选才省心?
  • 从实践看理论:Facebook 的隐私保护创新
  • 【Zephyr 系列 8】构建完整 BLE 产品架构:状态机 + AT 命令 + 双通道通信实战
  • TDengine 开发指南——高效写入
  • vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
  • Leetcode日记
  • 图片压缩工具 | 图片生成PDF文档
  • Flotherm许可安装教程
  • Web后端开发(SpringBootWeb、HTTP、Tomcat快速入门)
  • cocos3.X的oops框架oops-plugin-excel-to-json改进兼容多表单导出功能
  • 算法分析与设计-动态规划、贪心算法
  • stress-ng 服务器压力测试的工具学习
  • 构建 MCP 服务器:第一部分 — 资源入门
  • Promtail采集服务器本地日志存储到Loki
  • MySQL事务:从ACID特性到高并发优化的深度解析
  • Vue.js教学第十九章:Vue 工具与调试,Vue DevTools 的使用与 VS Code 插件辅助开发
  • yFiles:专业级图可视化终极解决方案
  • 融智学的数学基础,通过微分几何的纤维丛结构,构建理论框架模型包含生物层、动物层、心智层、人造物层和人格层五个维度
  • 功能测试、性能测试、安全测试详解
  • Hive终极性能优化指南:从原理到实战
  • 【时时三省】(C语言基础)一维数组名作函数参数
  • 解决 Java 项目中 “zip END header not found“ 错误
  • Python爬虫之数据提取
  • C++.vector 容器(1.5w字)
  • 【算法题】最长回文子串
  • PDF处理控件Aspose.PDF教程:在 C# 中更改 PDF 页面大小