最近在学状压dp,记录一下,避免忘记。
x&y:(x) 和 (y) 是否有同一位都为 (1);
x&y
(1<<(i-1))&x:(x) 的第 (i) 位是否为 (1);
(1<<(i-1))&x
x&(x<<1):(x) 是否有相邻两位都是 (1);
x&(x<<1)
x|=1<<(i-1):将 (x) 的第 (i) 位变为 (1);
x|=1<<(i-1)
x&=x-1:将 (x) 的最后一个 (1) 去掉;
x&=x-1
cur^=1:将 (mathrm{cur}) 在 (0/1) 之间转换(常用于滚动数组)。
cur^=1