关于bitset
https://www.zybuluo.com/ysner/note/1327705
原理
\(bitset\)的原理是將一大堆值為\(0/1\)的數(shù)壓成一個(gè)數(shù)。
操作
- 通過\(i>>x\)等操作,我們可以快速訪問\(i\)數(shù)組右移\(x\)位后的狀態(tài)(即只剩右數(shù)\(n-x\)個(gè)值)。
\(bitset\)數(shù)組可以當(dāng)作一個(gè)數(shù)來看待并進(jìn)行>>,<<,&,^等操作(詳見高斯消元總結(jié))。
函數(shù)
\(b.any()\):\(b\)中是否存在置為\(1\)的二進(jìn)制位
\(b.none()\):\(b\)中不存在置為\(1\)的二進(jìn)制位嗎
\(b.count()\):\(b\)中置為\(1\)的二進(jìn)制位的個(gè)數(shù)
\(b.size()\):\(b\)中二進(jìn)制位的個(gè)數(shù)
\(b[pos]\):訪問\(b\)中在\(pos\)處的二進(jìn)制位
\(b.test(pos)\):\(b\)中在\(pos\)處的二進(jìn)制位是否為1
\(b.set()\):把\(b\)中所有二進(jìn)制位都置為\(1\)
\(b.set(pos)\):把\(b\)中在\(pos\)處的二進(jìn)制位置為\(1\)
\(b.reset()\):把\(b\)中所有二進(jìn)制位都置為\(0\)
\(b.reset(pos)\):把\(b\)中在\(pos\)處的二進(jìn)制位置為\(0\)
\(b.flip()\):把\(b\)中所有二進(jìn)制位逐位取反
\(b.flip(pos)\):把\(b\)中在\(pos\)處的二進(jìn)制位取反
轉(zhuǎn)載于:https://www.cnblogs.com/yanshannan/p/9880489.html
總結(jié)
- 上一篇: 开内衣店成本大概有多高 其实要看店的大小
- 下一篇: 分布式问题总结