题解 P2767 树的数量

这道题算是一道思维量算是很大的题目。

第一反应数数题,发现怎么也推不出来柿子。

突然想起有一些数数题可以用 dp 做。

于是往 dp 上想。

有一个显然的状态

\(f_{i,j,k}\) 表示 \(i\) 个点 \(j\) 叉且根连了 \(k\) 叉的有多少种方案。但是这个方案仔细想想不是很好转移,因为有一个几乎半费的状态 \(j\) ,这个 \(j\) 是可以被 \(k\)完全覆盖掉的。

那么我们考虑优化一下这个状态。

\(f_{i,j}\)\(i\) 个点的 \(m\) 叉树根节点连了 \(j\) 叉有多少种方案。

最后为什么就决定是这个方案呢?因为这个状态很简洁,没有什么废话,同时也可以很详细的表示出所有信息。因此这个状态是很有可能成功的。

有了状态之后,我们考虑这个转移方程。

我们枚举一个 \(k\) 让后从对 \(f_{i-k,j-1} \times f_{k,m}\) 求和来更新 \(f_{i,j}\)

复杂度 \(O(n^3)\)\(n\le 127\) 的条件下可过.

代码就不给了,感觉很好写。

posted @ 2021-10-11 14:28  zplqwq  阅读(78)  评论(0编辑  收藏  举报