应该都会判欧拉回路吧(雾
考虑状压DP:设(W_i)表示集合(i)的点的权值和,(route_i)表示点集(i)的导出子图中是否存在欧拉回路,(f_i)表示前若干个城市包含了集合(i)的所有方案满意度的和,转移枚举最后一个放入的城市集合(x),有(f_i = frac{sumlimits_{x subset i} [route_x] W_x imes f_{i oplus x}}{W_i})。
可以注意到两个不交的状态(i,j)可以转移到(i) or (j),可以发现这是一个子集卷积,直接做即可,复杂度(O(2^nn^2))