二進位製小技巧

2021-07-26 22:51:50 字數 633 閱讀 1381

二進位制嘛,可以加速

a*2==a<<1

a/2==a>>1

2^b==1<< b

可以判斷一些東西

a&1->(a%2==1)

a^1可以求出數的乙個相鄰數

等等等等

下面我會在做題目時記錄一下位運算的技巧

這題讓我們統計區間顏色種類,種類不超過30種;

那我們可以用位運算來壓縮;

開乙個int,轉換成二進位制後可以清晰的表示這區間的種類有哪些;

合併時只要|就好啦

int outit(int x,int y,int num)
答案輸出

sum=outit(x,y,1);

k=1;ans=0;

while(k<=sum)

一開始區間修改,z是種類;

scanf("%d

%d%d",&x,&y,&z);

if(x>y)swap(x,y);

change(x,y,(1

<<(z-1)),1);

這題是題目給我們用位運算來壓縮資訊,我們也要學習一下

還有bitset

二進位製小技巧

目錄 xx 1 xx1xx1 x x現在令 x 10101000,接下來我們算一下 x x 1 的結果。首先我們回憶一下二進位制減法的規則 0 0 1 1 0 1 0 1 0 1 1 向高位借位 例如,11000011 2 00101101 2的算式如下 11000011 被減數 00101101 ...

二進位制運算技巧

假設都在x86或x86 64架構cpu上進行運算,二進位制基本運算包括,加減乘除 與 或 異或 同或 移位等 假設n 為 32 位整形數,取正整數n除以8的餘數 n 0x07 假設n 為 32 位整形數,取正整數n除以16的餘數 n 0x0f 假設n 為 32 位整形數,8位對齊 n 7 0xfff...

技巧 二進位制列舉

題目 第一行,輸入兩個整數 n,x 1 n 20,1 x 2000 n,x 1 leq n leq 20,1 leq x leq 2000 n,x 1 n 20 1 x 200 0 接下來輸入 n n 個整數,每個整數不超過 100100。輸出乙個整數,表示能湊出 xx x 的方案數。方法 二進位制...