我是靠谱客的博主 冷酷牛排,这篇文章主要介绍codeforces280 C. Game on Tree(期望),现在分享给大家,希望可以做个参考。

C. Game on Tree

单独考虑每个点对答案的贡献。

删除一个点的方案是删除它或者它的祖先,那么对答案的贡献是 1 dep u frac 1 {text{dep}_u} depu1

#include<cstdio>
#include<vector>

int n;
std::vector<int> g[100005];
int dep[100005];
void dfs(int u,int fa)
{
    dep[u]=dep[fa]+1;
    for(auto v:g[u])
    {
        if(v==fa) continue;
        dfs(v,u);
    }
}
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        int u,v;
        scanf("%d%d",&u,&v);
        g[u].push_back(v);
        g[v].push_back(u);
    }
    dfs(1,0);
    double ans=0;
    for(int i=1;i<=n;i++) ans+=1.0/dep[i];
    printf("%.7lfn",ans);
    return 0;
}

最后

以上就是冷酷牛排最近收集整理的关于codeforces280 C. Game on Tree(期望)的全部内容,更多相关codeforces280内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部