zoukankan      html  css  js  c++  java
  • BZOJ3036: 绿豆蛙的归宿

    3036: 绿豆蛙的归宿

    Time Limit: 2 Sec  Memory Limit: 128 MB
    Submit: 362  Solved: 255
    [Submit][Status][Discuss]

    Description

    随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿。

    给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度。绿豆蛙从起点出发,走向终点。
    到达每一个顶点时,如果有K条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K 。
    现在绿豆蛙想知道,从起点走到终点的所经过的路径总长度期望是多少?

    Input

    第一行: 两个整数 N M,代表图中有N个点、M条边
    第二行到第 1+M 行: 每行3个整数 a b c,代表从a到b有一条长度为c的有向边

    Output


    从起点到终点路径总长度的期望值,四舍五入保留两位小数。

    Sample Input

    4 4
    1 2 1
    1 3 2
    2 3 3
    3 4 4

    Sample Output

    7.00

    HINT



    对于100%的数据  N<=100000,M<=2*N

    Source

    题解:水题我爱刷!

    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<cstdio>
    #include<cmath>
    #define ll long long 
    #define N 100005
    #define M 200005
    using namespace std;
    int d[N];
    int pre[M],now[N],v[M],val[M];
    double f[N];
    bool vis[N];
    int n,m,tot;
    int read()
    {
        int x=0,f=1; char ch;
        while (ch=getchar(),ch<'0'||ch>'9') if (ch=='-') f=-1;
        while (x=x*10+ch-'0',ch=getchar(),ch>='0'&&ch<='9');
        return x*f;
    }
    void ins(int a,int b,int c)
    {
        ++tot; pre[tot]=now[a]; now[a]=tot; v[tot]=b; val[tot]=c;
    }
    void solve(int x,int fa)
    {
        if (!vis[x]) vis[x]=1; else return ;
        for (int p=now[x]; p; p=pre[p])
        {
            int son=v[p]; if (son==fa) continue;
            solve(son,x);
            f[x]+=val[p]+f[son];
        }
        if (d[x]) f[x]=1.0*f[x]/d[x]; 
    }
    int main()
    {
        n=read(); m=read();
        for (int i=1; i<=m; i++)
        {
            int u=read(),v=read(),val=read();
            ins(u,v,val); d[u]++;
        }
        solve(1,0);
        printf("%0.2lf",f[1]);
    }
    View Code
  • 相关阅读:
    (原)x264代码中的码流控制学习
    (原)关于OpenSL ES播放音频数据的一个奇怪的问题
    (原)理解码率控制模式(x264,x265,vpx)
    CentOS清除用户登录记录和命令历史方法
    2B销售提升业绩的5项技能
    Cookie中的httponly的属性和作用
    如何开展HW行动
    护网结束,复盘攻防,聊聊安全! 2019
    2018-11-21(34)《阿里铁军》阅后记!
    你了解渗透测试与红蓝队对抗的区别吗?
  • 原文地址:https://www.cnblogs.com/HQHQ/p/5793812.html
Copyright © 2011-2022 走看看