CF697D Puzzles 樹形dp 期望dp

2022-08-14 08:45:12 字數 849 閱讀 5423

給一棵樹,dfs時隨機等概率選擇走子樹,求期望時間戳。

乙個非常簡單的樹形dp?期望dp。推導出來轉移式就非常簡單了。

在經過分析以後,我們發現期望時間戳其實只需要考慮自己父親下來(步數加一)&從兄弟回來兩種可能。

設size[i]為i節點子樹大小(包括自身)

對於兄弟的情況,i節點的乙個兄弟有1/2的可能已經被遍歷完畢了,也就是步數加size該兄弟。

於是設ans[i]為到達i點的期望值,則

ans[i]=ans[father i]+1.0+(size[father i]-size[i]-1)*1/2

首先我們先進行一遍dfs,求出所有節點的size,

然後再次dfs,算出ans,即可。具體詳見**。

#include #include 

#include

using

namespace

std;

struct

edgee[

200010

];int h[100010],size[100010],n,x,tot=0

;double ans[100010

];int insr(int u,int

v)void dfssize(int x,int

last)

}}void calcans(int x,int

last)

intmain()

dfssize(

1,0);

calcans(

1,0);

for(int i=1;i<=n;i++)printf("

%.2lf

",ans[i]);

}

CF123E Maze 期望 樹形dp

題目鏈結 題目鏈結是洛谷翻譯過的。題意 給你一棵樹,邊權都是1,每乙個點有乙個是起點的概率和乙個是終點的概率,你將以起點為根,開始在樹上隨機dfs,直到走到終點。求dfs從起點到終點的期望長度。n 10w 題解 我們考慮一條確定路徑從s到t的期望步數的計算方法。我們發現,這個答案根據期望的線性性,我...

CF23 E Tree 樹形dp 高精度

cf23 e.tree cf竟讓卡常qaq dp 高精度 dp x j 表示以x為根的子樹,x所屬的聯通塊大小為j,的最大乘積 不帶j這塊 最後f x 維護以x為根的子樹的最大答案 有點卡記憶體.高精壓了4位 看了題解,了解到,其實這個dp的複雜度其實是o n 2 每次轉移是複雜度是x之前的子樹的s...

CF19E Fairy 樹形結構,差分

給出 n 個點 m 條邊的一張無向圖,求有多少條邊去掉後可以使得圖變成一張二分圖。1 leq n,m leq 10 4 雖然線段樹分治可以暴力草過去但是考慮點智慧型的做法。眾所周知沒有奇環是圖是二分圖的充要條件,所以答案就是奇環的交。顯然無法考慮所有的奇環,但是我們可以考慮一下簡單奇環。先隨便跑出乙...