ACM的奇计淫巧_bitset优化
2024-09-04 10:06:43
什么是bitset
bitset 是STL库中的二进制容器,根据C++ reference 的说法,bitset可以看作bool数组,但优化了空间复杂度和时间复杂度,并且可以像整形一样按位与或。
使用方法
申明
bitset的申明要指明长度
bitset<length> bi
这样就申明了一个长度为length的名叫bi的bitset
赋值
bitset重载了[]运算符,故可以像bool数组那样赋值
bi[] = ;
这样就能将第二位赋值为1
常用函数
b1 = b2 & b3;//按位与
b1 = b2 | b3;//按位或
b1 = b2 ^ b3;//按位异或
b1 = ~b2;//按位补
b1 = b2 << 3;//移位
int one = b1.count();//统计1的个数
优化作用
常常碰到处理的数组只有0和1的变化,此时就可以使用bitset优化。比如求两个集合的交集可以使用按位与运算,求并集可以使用按位或运算
最新文章
- StringBuffer与StringBuilder的简单理解
- Mysql新知识点150928
- char和vchar
- onClick(View) of type new View.OnClickListener(){} must override a superclass method
- 重要性!important
- Js正则表达式提取图片地址
- 文件下载cordovaFileTransfer:cordova.file.documentsDirectory is null
- python xlrd对excel的读取功能
- H5 字体属性补充
- CentOS 6.5系统中安装配置MySQL数据库
- uva-529-枚举
- 1-100求和 sum(range(101))
- Spring data jpa Specification查询关于日期的范围搜索
- 【转】Tesla Model X的车门设计问题
- Spark2 探索性数据统计分析
- 使用ViewPager实现android软件使用向导的功能
- Flume多Sink方案修正
- GDI+(一):GDI+ 绘图基础
- usb摄像头的检测
- Fog
热门文章
- 【51NOD-0】1085 背包问题
- HDU 1159 Common Subsequence (dp)
- linux进程管理-定时定期执行任务
- Python脚本 - 常用单位转换
- ";Flags mismatch irq"; register interrupt handler error
- Style2Paints:用AI技术为线稿快速上色的工具(GitHub 3310颗星)
- python基础===flask使用整理(转)
- 独立服务器远程重装Linux系统
- Makefile 跟着走快点
- ado中dispose和close的区别,摘自网络