题解 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\) 的条件下可过.
代码就不给了,感觉很好写。