• TYVJP1933 绿豆蛙的归宿


    背景

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

    描述

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

    输入格式

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

    输出格式

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

    测试样例1

    输入

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

    输出

    7.00

    备注

    对于20%的数据   N<=100
    对于40%的数据   N<=1000
    对于60%的数据   N<=10000
    对于100%的数据  N<=100000,M<=2*N
     
     
    拓扑+动规
    测试数据本地均测试无误,但提交的时候全输出0,目测是不知道为什么数据没读进去。诡异,暂未解决。
     
     1 #include<algorithm>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<iostream>
     5 #include<vector>
     6 #include<queue>
     7 using namespace std;
     8 const int mxn=120000;
     9 vector<int>e[mxn];
    10 vector<int>len[mxn];
    11 queue<int>q;
    12 int out[mxn],deg[mxn]; 
    13 double f[mxn];
    14 int n,m;
    15 
    16 int main(){
    17     cin>>n>>m;
    18     int i,j;
    19     int a,b,c;
    20     for(i=1;i<=m;i++){
    21         scanf("%d %d %d",&a,&b,&c);
    22         e[b].push_back(a);//入边 
    23         len[b].push_back(c);//边长 
    24         out[a]++;
    25     }
    26     for(i=1;i<=n;i++)deg[i]=out[i];//备份 
    27     q.push(n);
    28     while(!q.empty()){
    29         int v=q.front(),u,le;
    30         q.pop();
    31         for(i=0;i<e[v].size();i++){
    32             u=e[v][i];le=len[v][i];
    33             f[u]+=(f[v]+le)/out[u];
    34             deg[u]--;
    35             if(!deg[u]) q.push(u);
    36         }
    37     }
    38     printf("%.2lf",f[1]);
    39     return 0;
    40 }
  • 相关阅读:
    Oracle-启动和关闭oracle的归档(ARCHIVELOG)模式
    Linux-数据表示方式
    Linux-21-30
    linux-1-10
    自律
    jenkins-修改系统时间
    jenkins-通过ssh username with private key配置节点服务器
    jenkins-slave开机自动启动
    mongodb-mongo使用
    mongodb-centos76yum安装mongodb
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/5634373.html
Copyright © 2020-2023  润新知