题解:[ABC207F] Tree Patrolling
直接树形计数DP。
定义:\(f_{i,j,0/1/2}\) 代表以 \(i\) 为根的子树中,分配了 \(j\) 个警卫,且当前状态为 \(0/1/2\) 的方案数。
其中:
- 状态为 \(0\) 代表在 \(i\) 处放了一个警卫(看住了自己)。
- 状态为 \(1\) 代表在 \(i\) 的儿子放了一个警卫(看住了自己)。
- 状态为 \(2\) 代表在 \(i\) 的儿子以及 \(i\) 处都没有放警卫(还没有看住自己)。
那么:
\[f_{i,j,k,0} = \sum_{w=1}^{sz_i}[(f_{i,j-1,w-1,1}+f_{i,j-1,w-1,2}+f_{i,j-1,w,0})\times(f_{k,sz_k,sz_i-w,0}+f_{k,sz_k,sz_i-w,1}+f_{k,sz_k,sz_i-w,2})]
\]

浙公网安备 33010602011771号