1,按步转移的递推方法
以[Cnoi2020]线形生物为例
不妨设$f(iRightarrow j)$为从点$i$走到点$j$的期望步数
显然期望步数满足以下性质:
$$f(xRightarrow y)=sumlimits^{y-1}_{i=x}f(iRightarrow i+1)$$
现考虑从$x$转移至$x+1$的期望步数,不妨设$q$为$x$的出度,$S$为从点$x$所能到达的所有点的集合
$$f(xRightarrow x+1)=frac{1+sumlimits_{yin S}(sumlimits_{i=y}^{x}f(iRightarrow i+1)+1)}q$$
整理得
$$f(xRightarrow x+1)=frac{q+(q-1)*f(xRightarrow x+1)+sumlimits_{yin S}sumlimits_{i=y}^{x-1}f(iRightarrow i+1)}q$$
两边同乘$q$并移项得
$$f(xRightarrow x+1)=q+sumlimits_{yin S}sumlimits_{i=y}^{x-1}f(iRightarrow i+1)$$
对期望做前缀和可以$O(n+m)$的时间复杂度通过此题