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