状压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:将 \(\mathrm{cur}\)\(0/1\) 之间转换(常用于滚动数组)。

posted @ 2020-03-04 11:57  zzt1208  阅读(40)  评论(0编辑  收藏