ABC187F题解
状压DP。
看到这个 \(n\leq18\) ,立刻想到状压DP。
考虑转移方程,一个状态可以由两个子状态转移而来,所以 \(f_i=f_{i-j}+f_j\) 。
如果 \(i-j\) 和 \(j\) 这两个状态可以合并,那么等于说是 \(i\) 这个状态本身是个完全图。那么我们判断一下这个 \(i\) 是不是完全图,是的话 \(f_i=1\) 。
再去看如何判断完全图。显然,对于 \(i\) 中出现的每个点,都与 \(i\) 中所有点有连边。那我们存图的时候,对于每个点用状态压缩的方式存储他和哪些点有边相连。判断的时候只需要判断 \(e_u \operatorname{and} i\) 是否 \(=i\) 即可。时间复杂度 \(O(n\times 2^n)\) 。