在写 状压dp 时,经常会见到如下句子: for(int i=0;i<(1<<n);i++){ for(int j=i;j!=0;j=(j-1)&i){ } } 时间复杂度证明如下: 单个 \(x\) 枚举子集复杂度易证( 设 \(y=log_2(x)\) ): \[∑_{