bitset

可以当作一个bool型数组考虑,bitset<N> bs;  可以考虑成一个数组bool bs[N]。

相关操作:

bs.set(); 全部置1,bs.reset()全部置0;

bs.set(pos);等价于bs[pos]=1,bs.reset(pos)等价于bs[pos]=0;

最重点的来了,bitset<N> a, b;

!a //按位取反
a^b //按位异或
a|b //按位或
a&b //按位与
a=b<<3 //整体移位
a.count(); //a中1的个数

bitset优化有什么用呢

如果有一个bool数组 a[N] 和b[N] 把每一个位异或的话,一定是

for (int i = 0; i < N; ++i) c[i] = a[i] ^ b[i];

但是如果用bitset直接a^b的话,只需要O(N/机器字节数)

这样可以实现常数优化。

奇计淫巧______bitset优化相关推荐

  1. 字符串太占内存了,我想了各种奇思淫巧对它进行压缩

    一:背景 1. 讲故事 在我们的一个全内存项目中,需要将一家大品牌店铺小千万的trade灌入到内存中,大家知道trade中一般会有订单来源,省市区 ,当把这些字段灌进去后,你会发现他们特别侵蚀内存,因 ...

  2. 网络品牌推广带大家了解网站中有哪些常见的URL优化手段?

    网络品牌推广中网站想要获得更高的排名和权重,自然是离不开优化人员的努力,坚持做好优化工作,巧用优化手段,探索新的优化技巧等帮助网站欧爱明更好,其中对于URL优化要怎么做才能帮助网站发挥更大的价值呢?下 ...

  3. 记一次 .NET医疗布草API程序 内存暴涨分析

    一:背景 1. 讲故事 我在年前写过一篇关于CPU爆高的分析文章 再记一次 应用服务器 CPU 暴高事故分析 ,当时是给同济做项目升级,看过那篇文章的朋友应该知道,最后的结论是运维人员错误的将 IIS ...

  4. OCT-模拟集成电路设计的九个境界

    电路如同砖瓦,系统如同大厦.芯片设计工程师一定要从系统角度考虑问题,否则就是只见树木,不见森林. 一段你刚开始进入这行,对PMOS/NMOS/BJT什么的只不过有个大概的了解,各种器件的特性你也不太清 ...

  5. 模拟集成电路设计的九个层次-顶尖高手的心得体会

    模拟集成电路设计的九个层次-顶尖高手的心得体会 下面这篇文章是一个电路设计顶尖高手的心路历程,看完后你就对佩服. 从复旦攻读微电子专业模拟芯片设计方向研究生开始到现在五年工作经验,已经整整八年了,其间 ...

  6. 学习模拟集成电路的九个阶段

    学习模拟集成电路的九个阶段 电路如同砖瓦,系统如同大厦.芯片设计工程师一定要从系统角度考虑问题,否则就是只见树木,不见森林. 摘自:@电子发烧友官网 一段你刚开始进入这行,对PMOS/NMOS/BJT ...

  7. 一些非常激励人心的电子类同行成长经历

    共有两篇,放在下面: ================================================ ======================================== ...

  8. 前端开发工程师面试题2

    前端开发工程师面试题2 1.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义? (1). 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. ...

  9. [转]模拟芯片设计的四重境界

      从复旦攻读微电子专业模拟芯片设计方向研究生开始到现在五年工作经验,已经整整八年了,其间聆听过很多国内外专家的指点.最近,应朋友之邀,写一点心得体会和大家共享. 我记得本科刚毕业时,由于本人打算研究 ...

  10. 模拟集成电路学习心得(不见牛人,不懂世界之大!!!)

    在我对模拟集成电路的作用迷茫和怀疑时,终于发现了一篇大牛的文章,醍醐灌顶,学了四年,却是连入门都算不上,真是惭愧!!! 转自:http://bbs.eetop.cn/thread-254807-1-1 ...

最新文章

  1. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)
  2. Eclipse配置注释模板
  3. aes key长度_原创 | 浅谈Shiro反序列化获取Key的几种方式
  4. 基于SRCNN的表情包超分辨率(附tensorflow实现)
  5. 实现SSH密钥登陆Linux系统的方法(Linux公私钥生成)
  6. 中国.NET域名注册量近55万个 稳居全球第三位
  7. android 根据版本,Android – 根据构建类型更改flavor版本名称
  8. SQL Server CDC配合Kafka Connect监听数据变化
  9. 修改value_Python | 快速修改或命名N个文件夹名称,你会吗?
  10. 不得不赞!一个国内(可能)最好的海量CV数据集获取网站
  11. JS中setInterval、setTimeout不能传递带参数的函数的解决方法
  12. ROS笔记(25) 自主探索SLAM
  13. 实验5-9 使用函数输出水仙花数 (20 分)
  14. jquery.form.js ajax提交上传文件
  15. 回文问题‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
  16. 第9批候选!高工智能汽车金球奖入围年度产品/方案公示
  17. word2016 删除页眉横线
  18. 区块链技术涉及哪些编程语言?
  19. 线性规划问题(LP问题)
  20. KVM虚拟机支持虚拟化(kvm虚拟化嵌套)

热门文章

  1. BAT校招产品经理:52道经典面试问题解答思路
  2. 关于机器学习模型的评估方法
  3. 单点登录(java)
  4. 史上MySQL安装配置教程最细,一步一图解
  5. QtQuick 技巧 2
  6. 基于C51单片机的锂电池容量检测仪电压电流检测 原理图PCB程序设计
  7. MLCC电容的直流偏压特性 贴片电容
  8. vue element web 表单设计工具
  9. PS更换证件照背景颜色
  10. 电压和电流的有效值、瞬时值、平均值、最大值及其关系