(o(n))求出(1sim n)中每个数二进制中(1)的个数 for(int i=1;i<=n;++i) bit[i]=bit[i^(i&(-i))]+1;
for(int i=1;i<=n;++i) bit[i]=bit[i^(i&(-i))]+1;
枚举(s)的子集 for(int i=s;i;i=(i-1)&s)
for(int i=s;i;i=(i-1)&s)