位运算基础 state >> i & 1用于检验state的二进制表示的第 i 位上是否为 1 。 由此引申出求state二进制表示中 1 的个数。 int count(int state) { int res = 0; for (int i - 0; i < m; i ++ ) res += state >> i & 1; return res; } 状态压缩DP 简单来说,就是利用二进制数来表示一行或一列的状态。例如01010表示在第二位和第四位上具有一些性质。