传送门
状压dp好题。
怎么今天道道题都有点东西啊
对于今天题目神仙出题人先膜为上策:%%%%DzYoAk_UoI%%%%
设
f
[
i
]
[
j
]
f[i][j]
f[i][j]表示选取点的状态集合为
i
i
i,当前在
j
j
j号点的状态总数。
然后枚举一个不在集合中的点转移。
但是直接这样做会算错。
为什么呢?
因为我们没有考虑状压时其它子树的影响。
因此再记一个数组
g
[
i
]
[
j
]
g[i][j]
g[i][j]表示选取集合为
i
i
i当前在
j
j
j号点来进行状态转移。
f
[
s
t
a
]
[
p
]
=
∑
[
E
(
u
,
v
)
]
f
[
s
t
a
∣
(
1
<
<
v
)
]
[
v
]
∗
f
[
g
[
s
t
a
∣
(
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高高竖起)。