解:有一个很显然的状压...... 就设f[s]表示选的点集为s的时候所有方案的权值和. 于是有f[s] = f[s \ t] * (sum[t] / sum[s])P. 这枚举子集是3n的. 然后发现这是子集卷积,参考资料. 于是就FWT搞一下...看代码 #include <bits/stdc++.h> typedef long long LL; , M = , MO = ; struct Edge { int v, u; }edge[N * N]; int w[N], sum[M], c…