作為一個蒟蒻選手,會的東西不多,就學一下這些亂七八糟的東西吧
前言
下面内容借鑒了很多部落格,這裡就不一一列舉了。。
主要就是把我覺得有用的搬了過來,不喜勿噴
正文
需要的頭檔案
#include<bitset>
using namespace std;
定義方法
bitset<你要的大小> bi
指派
直接像變量一樣用就好了
a[x]=或a[x]=
與bool的巨大差別
可以用一切運算符,想<<,>>,^,|,&等,和二進制一樣
一些常用的函數(當然是自帶的啦,難道還要你寫?)
bool any( )
是否存在置為1的二進制位?和none()相反
bool none( )
是否不存在置為1的二進制位,即全部為0?和any()相反.
size_t count( )
二進制位為1的個數.
size_t size( )
二進制位的個數
flip()
把所有二進制位逐位取反
set()
把所有二進制位都置為1
set(pos)
把在pos處的二進制位置為1
reset()
把所有二進制位都置為0
count()
獲得由多少個1
然後相對比bool,據說時間有了優化。。具體是多少不打清楚。。
但看4810: [Ynoi2017]由乃的玉米田的題解,好像是/32
但至少功能比bool多啦