状压dp常用操作

最近在学状压dp,记录一下,避免忘记。

  1. x&y\(x\)\(y\) 是否有同一位都为 \(1\)

  2. (1<<(i-1))&x\(x\) 的第 \(i\) 位是否为 \(1\)

  3. x&(x<<1)\(x\) 是否有相邻两位都是 \(1\)

  4. x|=1<<(i-1):将 \(x\) 的第 \(i\) 位变为 \(1\)

  5. x&=x-1:将 \(x\) 的最后一个 \(1\) 去掉;

  6. cur^=1:将 \(cur\)\(0/1\) 之间转换(常用于滚动数组)。

猜你喜欢

转载自www.cnblogs.com/juruo-zzt/p/12408626.html