題目大意:給定 $dag$ 帶邊權連通圖,保證所有點都能到達終點 $n$,每個點等概率沿邊走,求起點 $1$ 到終點 $n$ 的期望長度。
題解:拓撲,然後倒著$dp$就可以了
卡點:無
c++ code:
#include #define maxn 100010using namespace std;
int n, m, oud[maxn], vis[maxn];
int q[maxn], h, t;
double f[maxn];
int head[maxn], cnt;
struct edge e[maxn << 1];
void add(int a, int b, int c) ; head[a] = cnt;
}int main()
f[q[h = t = 0] = n] = 0;
while (h <= t)
} printf("%.2lf\n", f[1]);
return 0;
}
bzoj3036 綠豆蛙的歸宿
time limit 2 sec memory limit 128 mb submit 319 solved 224 submit status discuss 給出乙個有向無環的連通圖,起點為1終點為n,每條邊都有乙個長度。綠豆蛙從起點出發,走向終點。到達每乙個頂點時,如果有k條離開該點的道路,綠...
BZOJ3036 綠豆蛙的歸宿
感覺挺簡單的。就是乙個簡單的dag上的期望問題。暴力的話是把所有的路徑都算出來,長度加一起再除以總路徑數量。然後優化就是利用期望的線性性 可加性 我們把每條邊的期望算出來,然後再相加就可以了。顯然求期望 概率 邊長。我們可以考慮先把每個點經過的概率算出來,然後再往邊上轉移。因為是dag,所以我們直接...
BZOJ 3036 綠豆蛙的歸宿
題意 給定dag帶邊權連通圖,保證所有點都能到達終點n,每個點等概率沿邊走,求起點1到終點n的期望長度。n 10 5。演算法 期望dp 題解 f i 表示到終點n的期望長度。f n 0 f i f j e i w k i i j,k i 是i的出度。因為是點x等概率出發,所以一定要從x算,不能倒著來...