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