不知道状压可不可行阿,先说一个我的错误状压思路: 设 $f(i,S)$ 表示前 $i$ 个点的叶子节点状态为 $S$,最大深度在点 $i$ 处取得的方案数。然后会发现这个东西没办法转移。 继续瞎搞,考虑枚举深度 $d$,划分为若干层,进行状压 dp,但是仍然没啥好方法转移。也可能是我菜。 树上深度计数考虑组合数。计算总数,最后除以 $(n-1)!$。 设 $f(i,j)$ 表示 $i$ 个点的树,深度为 $j$ 的方案数。 因为点 $2$ 一定接在 $1$ 上,所以我们枚举点 $2$ 的子树大小及深度,然后合并其它子树和点 $2$ 的子树。这样显然不会算重。 这个过程可以保证方案是合法的,只关心点编号之间的大小关系。用组合数辅助计算。 取整可以用 long double 或者 __int128 存一下。 时间复杂度 $\mathcal O(n^4)$。
题目3834 [雅礼集训 2018 Day1] 树
AAAAAAAAAAAAAAAAAAAA
9
评论
2023-02-24 23:29:58
|