題面
題目傳送門
分析定義f(i
)f(i
)為ii點不被點亮的概率,p(i
)p(i
)為ii自己被點亮的概率,p(i
,j)p
(i,j
)表示i−j
i−j這條邊聯通的概率,有f(i
)=(1
−p(i
))∗∏
i−j(
1−p(
i,j)
∗(1−
f(j)
))f(
i)=(
1−p(
i))∗
i−j∏
(1−
p(i,
j)∗(
1−f(
j)))
可以看出,對於乙個點i
i,所有於它相連的點對它的影響是獨立的,那麼我們首先以1
1為根,只考慮兒子的影響做一次樹形dpd
p。然後再進行第二次dpd
p,只考慮父親的影響,具體做法只需要將父親的f(f
a)f(
fa)除以i
i帶來的影響就得到faf
a對ii的影響。見**
code
#include
using
namespace std;
const
int maxn =
500005
;int n, fir[maxn]
, cnt;
double p[maxn]
;struct edge e[maxn<<1]
;inline
void
add(
int u,
int v,
double wt)
; fir[u]
= cnt;
e[++cnt]
=(edge)
; fir[v]
= cnt;
}double dp[maxn]
;inline
void
dfs1
(int u,
int ff)
inline
void
dfs2
(int u,
int ff)}}
int main (
)
關於在第二次dfs
dfs時的除法可能會除以零,是這樣考慮的eo
feof
概率充電器
記憶體限制 256 mib 時間限制 2000 ms 標準輸入輸出 題目描述 著名的電子產品品牌 shoi 剛剛發布了引領世界潮流的下一代電子產品 概率充電器 採用全新奈米級加工技術,實現元件與導線能否通電完全由真隨機數決定 shoi 概率充電器,您生活不可或缺的必需品 能充上電嗎?現在就試試看吧 ...
SHOI2014 概率充電器 (樹形DP)
題目 這個題。如果我們只考慮從兒子到父親的傳輸電,之後可以再用乙個dfs從上至下更新父親對兒子的貢獻。但是這個題需要求的是概率而非期望 直接算期望不好求 就沒有那些什麼線性性 p a b p a p b p a p b p a b p a p b p a p b p a b p a p b p a ...
概率充電器(shoi2014)
出處 輾轉山河弋流歌 by 空灰冰魂 著名的電子產品品牌 shoi 剛剛發布了引領世界潮流的下一代電子產品 概率充電器 採用全新奈米級加工技術,實現元件與導線能否通電完全由真隨機數決定!shoi 概率充電器,您生活不可或缺的必需品!能充上電嗎?現在就試試看 吧!shoi 概率充電器由 n 1 條導線...