对图论熟悉者可以看出命题成立的条件是,存在一个环,任意非环上的点与环上 的点相邻。

求环则使用哈密顿回路dp。设f[mask]为从mask最低序号点出发u,经过mask所有 点的路径的终点的集合。f[mask+v]+=v if v&mask==0 && neib[v]&f[mask]!=0;

最终在符合or_sum(neib[v]+v, v in mask)为全部点的mask中寻找环,即为答 案。

可见复杂度为线性乘指数。