二进制子集集合枚举
一、降序遍历 \(m\) 的非空子集:
for (int s = m; s; s = (s - 1) & m);
二、降序遍历 \(m\) 的子集:
for (int s = m; ; s = (s - 1) & m) {
//
if (s == 0) break;
}
for (int s = m; s; s = (s - 1) & m);
for (int s = m; ; s = (s - 1) & m) {
//
if (s == 0) break;
}