bzoj3036: 绿豆蛙的归宿

Posted sssy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj3036: 绿豆蛙的归宿相关的知识,希望对你有一定的参考价值。

题目链接

bzoj3036: 绿豆蛙的归宿

题解

处理一个点到n点路程的期望,倒退
正推拓扑排序的话会有不是1节点扩展来的
可以等概率由上一点转移过来,价值为边的权值
由于期望E(X+Y)=E(X)+E(Y)的,递推求解

代码

#include<cstdio>
#include<algorithm> 

const int maxn = 1000007;
struct node {
    int u,v,next; 
} edge[maxn << 1] ;
int head[maxn],num = 0;
inline void add_edge(int u,int v) { 
    edge[++ num].v = v;edge[num].next = head[u] ;head[u] = num; 
} 
int n; 
double ans = 0;
double dep[maxn]; 
void dfs(int x,int fa) { 
    ans += (1 / dep[x]); 
    for(int i = head[x]; i; i = edge[i].next) { 
        int v = edge[i].v; 
        if(v == fa)continue;
            dep[v] = dep[x] + 1.0; 
        dfs(v,x);   
    } 
}
int main() { 
    scanf("%d",&n); 
    for(int u,v,i = 1;i < n;++ i){ 
            scanf("%d%d",&u,&v);
        add_edge(u,v);add_edge(v,u) ;
    } 
    dep[1] = 1; 
    dfs(1,0); 
    printf("%.10lf",ans); 
    return 0;
}   

以上是关于bzoj3036: 绿豆蛙的归宿的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ3036绿豆蛙的归宿 拓补排序+概率

bzoj 3036 绿豆蛙的归宿 期望dp

bzoj3036绿豆蛙的归宿

BZOJ3036绿豆蛙的归宿 概率与期望

bzoj3036--绿豆蛙的归宿--期望dp

题解 bzoj3036: 绿豆蛙的归宿 (期望dp)