传送门


应该都会判欧拉回路吧(雾

考虑状压DP:设\(W_i\)表示集合\(i\)的点的权值和,\(route_i\)表示点集\(i\)的导出子图中是否存在欧拉回路,\(f_i\)表示前若干个城市包含了集合\(i\)的所有方案满意度的和,转移枚举最后一个放入的城市集合\(x\),有\(f_i = \frac{\sum\limits_{x \subset i} [route_x] W_x \times f_{i \oplus x}}{W_i}\)。

可以注意到两个不交的状态\(i,j\)可以转移到\(i\) or \(j\),可以发现这是一个子集卷积,直接做即可,复杂度\(O(2^nn^2)\)

代码

05-17 14:27