洛谷P4316 綠豆蛙的歸宿

2021-08-29 20:13:02 字數 1145 閱讀 9679

思路

因為每條邊等概率,那麼就很輕鬆了,我們先跑個拓撲,確定拓撲序之後,從最後乙個點向前更新,初始是f[n

]=

0f[n]=0

f[n]=0

,能到n的點會獲得(w[

i]+f

[n])

deg[

u\frac

deg[u(

w[i]

+f[n

])​的期望長度,因為u的度數是deg

[u

]deg[u]

deg[u]

所以有1de

g[u]

\frac

deg[u]

1​的概率走到i

ii這條邊上,乙個點的期望被算好後就不會再變,所以他能到n,就會獲得f[n

]f[n]

f[n]

的期望長度,然後這樣逆序處理好所有點的期望,最後結果就是f[1

]f[1]

f[1]

//by acermo

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int m=

200500

;int n,m;

double f[m]

;int in[m]

,dg[m]

,ti[m]

;int to[m]

,w[m]

,nxt[m]

,head[m]

,cnt;

inline

void

read

(int

&x)inline

void

add(

int x,

int y,

int z)

inline

void

topsort()

return;}

signed

main()

printf

("%.2lf"

,f[1])

;return0;

}

洛谷 P4316綠豆蛙的歸宿

題目描述 記f i 表示經過i號點的概率。那麼點v從點u到達的概率 經過點u的概率 點u的出度。由於v可以由多個點走到,所以f v f u out u 計算f的過程可以在拓撲中完成,同時可以記錄走過這條邊的期望,相加就是答案。include include using namespace std c...

洛谷P4316 綠豆蛙的歸宿

題目描述 有一張 n n leq 10 5 個點的dag,圖上每一條邊都有乙個邊權 w 從1號點開始,一直走到 n 號點,沒到達乙個點,如果該節點有 k 條出邊,可以選擇任意一條邊離開該點,並且走向每條邊的概率為 frac 問到達 點 n 的期望路徑長度是多少?輸入樣例 4 4 1 2 1 1 3 ...

P4316 綠豆蛙的歸宿

poetize3 給出乙個有向無環圖,起點為1終點為n,每條邊都有乙個長度,並且從起點出發能夠到達所有的點,所有的點也都能夠到達終點。綠豆蛙從起點出發,走向終點。到達每乙個頂點時,如果有k條離開該點的道路,綠豆蛙可以選擇任意一條道路離開該點,並且走向每條路的概率為 1 k 現在綠豆蛙想知道,從起點走...