放假了,小 Z 觉得呆在家里特别无聊,于是决定一个人去游乐园玩。进入游乐园后,小 Z 看了看游乐园的地图,发现可以将游乐园抽象成有 个景点、 条道路的无向连通图,且该图中至多有一个环(即 只可能等于 或者 )。
小 Z 现在所在的大门也正好是一个景点。小 Z 不知道什么好玩,于是他决定,从当前位置出发,每次随机去一个和当前景点有道路相连的景点,并且同一个景点不去两次(包括起始景点)。贪玩的小 Z 会一直游玩,直到当前景点的相邻景点都已经访问过为止。
小 Z 所有经过的景点按顺序构成一条非重复路径,他想知道这条路径的期望长度是多少?
小 Z 把游乐园的抽象地图画下来带回了家,可是忘了标哪个点是大门,他只好假设每个景点都可能是大门(即每个景点作为起始点的概率是一样的)。同时,他每次在选择下一个景点时会等概率地随机选择一个还没去过的相邻景点。
Constraints
Solution
题意给出的图为树或基环树,可以用树形 dp 求解这道题。
对于树的情况,我们令 表示向下走的期望, 表示向上走的期望, 表示度数, 表示儿子节点的个数。则易得以下递推方程:
对于环的情况, 数组同树的情况,而由于环上的点最多只有 个,所以 数组可以暴力 进行统计。具体方式为,顺逆时针各统计一次,初始概率均为 ,每到达一个点,概率除以儿子个数 ,并加上对应的 和边权。对于基环树,先处理完树部分的 ,再处理环部分的 ,最后将环部分的 下传。
Code
1 |
|