Gravatar
yrtiop
积分:2101
提交:309 / 808

Pro3834  [雅礼集训 2018 Day1] 树

Editorial of srf.

不知道状压可不可行阿,先说一个我的错误状压思路:

设 $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)$。


2023-02-24 23:29:58    
我有话要说
暂无人分享评论!