传送门
状压dp好题。怎么今天道道题都有点东西啊
对于今天题目神仙出题人先膜为上策:%%%%DzYoAk_UoI%%%%
设f[i][j]f[i][j]f[i][j]表示选取点的状态集合为iii,当前在jjj号点的状态总数。
然后枚举一个不在集合中的点转移。
但是直接这样做会算错。
为什么呢?
因为我们没有考虑状压时其它子树的影响。
因此再记一个数组g[i][j]g[i][j]g[i][j]表示选取集合为iii当前在jjj号点来进行状态转移。
f[sta][p]=∑[E(u,v)]f[sta∣(1<<v)][v]∗f[g[sta∣(1<<v)][v]][p]f[sta][p]=\sum _{[E(u,v)]}f[sta|(1<<v)][v]*f[g[sta|(1<<v)][v]][p]f[sta][p]=∑[E(u,v)]f[sta∣(1<<v)][v]∗f[g[sta∣(1<<v)][v]][p]
代码
p.s. T3点分质+容斥不想写了,挖个坑以后补吧(AFO_flag高高竖起)。