当前位置 博文首页 > ttoobne:2019南京网络赛 D. Robots(概率DP与拓扑排序)

    ttoobne:2019南京网络赛 D. Robots(概率DP与拓扑排序)

    作者:[db:作者] 时间:2021-08-30 10:30

    题目链接
    在做这道题之前看一个简化版:绿豆蛙的归宿
    F [ x ] F[x] F[x] 表示从 x x x 走到终点所经过的路径的期望长度。若从 x x x 出发有 k k k 条边,分别到达 y 1 , y 2 . . . y k y_1,y_2...y_k y1?,y2?...yk? ,边长分别为 z 1 , z 2 . . . z k z_1,z_2...z_k z1?,z2?...zk? ,则根据数学期望的定义和性质,有: F [ x ] = 1 k ? ∑ i = 1 k ( F [ y i ] + z i ) F[x]=\frac{1}{k}*\sum_{i=1}^k(F[y_i]+z_i) F[x]=k1??i=1k?(F[yi?]+zi?)
    就可以将边取反然后用拓扑排序解决。

    现在这道题在上面这道题的基础上相当于将边长设置为 1 ,然后多了一个每次多走一条边的花费。
    每个点到 n n n 点的距离相当于: F d a y [ i ] = 1 d e g [ i ] + 1 ? ∑ j = 1 d e g [ i ] ( F d a y [ i ] + 1 ) + 1 d e g [ i ] + 1 ? ( F d a y [ i ] + 1 ) F_{day}[i]=\frac{1}{deg[i]+1}*\sum_{j=1}^{deg[i]}(F_{day}[i]+1)+\frac{1}{deg[i]+1}*(F_{day}[i]+1) Fday?[i]=deg[i]+11??j=1deg[i]?(Fday?[i]+1)+deg[i]+11??(Fday?[i]+1)化简之后: F d a y [ i ] = 1 d e g [ i ] ? ∑ j = 1 d e g [ i ] F d a y [ i ] + 1 d e g [ i ] + 1 F_{day}[i]=\frac{1}{deg[i]}*\sum_{j=1}^{deg[i]}F_{day}[i]+\frac{1}{deg[i]}+1 Fday?[i]=deg[i]1??j=1deg[i]?Fday?[i]+