TreeUnion

作者:聂恺辰 徐明宽

关键词:计数 概率 树形DP

题目简述

用字符串形式给出两棵大小为的树,然后随机生成一个排列的排列,令第一棵树的点与第二棵树的点连边

求期望这个图中有多少个长度为的环

数据范围

算法

由于,且每个点只与另一棵树上的一个节点相连,所以这个环一定是树A->树B->树A这种形式。

也就是说,这个环一定恰好经过两条非原树边,即经过条树边

这样我们可以分别求出对于每棵树有多少点对使得

然后令两棵树的A相连,B相连,发生的概率为(因为这等价于A的两个端点这个集合恰好对应了B的两个端点这个集合)。

接下来枚举两棵树上分别经过了多少边,把两边答案乘起来再累加就可以了

至于如何求点对数量,反正很小,暴力做就可以。另外也可以写树形DP,求出每个点的层儿子个数,就可以在的时间内统计点对数量了。

results matching ""

    No results matching ""