bitset 学习笔记
引入
顾名思义,
区别于普通的
故,
正题
首先一些介绍一些基础用法:
用法
一些初始化
bitset<M> Name
:长度为 的 ,默认为空。( 为常量,下同)bitset<M> Name(N)
:长度为 的 ,初始化为int
类型的变量 的二进制。bitset<M> Name(S)
:长度为 的 ,初始化为string
类型的 01 字符串 。
一些运算符重载
operator [] (int i)
:返回 的第 位,但是从右往左数。operator < (bitset<N> b)
:返回两 。operator > (bitset<N> b)
:同上。operator << (int t)
operator >> (int t)
operator & (bitset<N> b)
operator | (bitset<N> b)
operator ~ ()
operator ^ (bitset<N> b)
好吧后面的不想写了,自行脑补()
直接例题。
例题
AT_agc020_c
考虑将所有集合的和都存进一个 bitset
里,如果 Bit[i] != 0
那么就代表存在一个集合的和为
那么可以这样写:
Bit[0] = 1;
for (int i = 1; i <= n; i++) {
cin >> tmp;
Bit |= (Bit << tmp);
}
P4306
我们充分发扬人类智慧:
用 bitset 优化 Floyd,
这样速度快得飞起,在
CF620E
说实话这道题用 bitset
硬往树剖上扣就可以了,不再赘述。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战