bitset用法小結

2021-08-09 00:21:17 字數 685 閱讀 1931

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處的二進位制位取反

b.to_ulong()

用b中同樣的二進位制位返回乙個unsigned long值

os << b

把b中的位集輸出到os流

還有就是這個操作的時間複雜度是lg(n)的

比如 a[x]|5就是a[x]所有數都並上5時間複雜度為lg(n)如果x為10^6時間大概到20.非常好用。 也可以a【x】<<5就是a[x]所有的數都加5,時間複雜度也是lg(n)

bitset用法小結

bitset大概就是類似於bool陣列一樣的東西 但是它的每個位置只佔1bit 特別特別小 bitset的原理大概是將很多數壓成乙個,從而節省空間和時間 暴力出奇蹟 一般來說bitset會讓你的演算法複雜度 32 具體是什麼要看計算機 使用bitset型別需 include bitset型別在定義時...

bitset 用法整理

建構函式 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5 b0 5 則 b0 為 00101 bitsetb s...

bitset用法整理

bitset用法整理 2008 01 17 14 15 建構函式 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5...