枚举非空子集 for (int j = i; j; j = (j - 1) & i) { // ... } 枚举超集 for (int j = i; j < (1 << n); j = (j + 1) | i) { // ... }