题解:[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})] \]

posted @ 2024-09-04 16:33  GuTongXing  阅读(20)  评论(0)    收藏  举报