标签:
题意:
给你n个节点的树,从1节点开始走,到每个节点都有三种情况,被杀死回到1节点,找到隐藏的出口出去,沿着当前节点相邻的边走到下一个节点,给出每个节点三种情况发生的概率分别为ki,ei,1-ki-ei,求找到出口时已经过的边数的期望。
分析:
用树状dp考虑问题。当节点是叶子节点时它只是向父节点走,非叶子节点可以向父亲节点和所有孩子节点走。
Ei表示到i节点经过边数的期望
则叶子节点:Ei=ki*E1+(1-ki-ei)*(E[par[i]]+1);//par[i]表示i的父亲节点
非叶子节点:Ei=ki*E1+(1-ki-ei)*(E[par[i]]/m+sum(E[son[i]])/m+1)//m表示与i节点相连的边数,son[i]表示i节点孩子
接下来就是处理环了
令 Ei=ai*E1+bi*E[par[i]]+ci;
标签:
原文地址:http://www.cnblogs.com/zsf123/p/4746458.html