挺强的……容斥+状压DP。首先想到如果可以求出f[k],f[k]代表联通状态为k的情况下的合法方案数,则f[k] = g[k] - 非法方案数。g[k]为总的方案数,这是容易求得的。那么非法方案数我们可以枚举 k 的子集 j,则 j 联通而剩下的则随意连(不与j联通)。可是做到这里以为自己做出来的,实际上并没有…… 挺强的……容斥+状压DP。首先想到如果可以求出f[k],f[k]代表联通状态为k的情况下的合
挺强的……容斥+状压DP。首先想到如果可以求出f[k],f[k]代表联通状态为k的情况下的合法方案数,则f[k] = g[k] - 非法方案数。g[k]为总的方案数,这是容易求得的。那么非法方案数我们可以枚举 k 的子集 j,则 j 联通而剩下的则随意连(不与j联通)。可是做到这里以为自己做出来的,实际上并没有…… 挺强的……容斥+状压DP。首先想到如果可以求出f[k],f[k]代表联通状态为k的情况下的合