dp 概率與期望dp Dumb Bones

2021-09-16 21:08:29 字數 2338 閱讀 8575

你正在嘗試用多公尺諾骨牌搭成一條直線,以便最後試驗時推倒它們

(確實,搭建某些東西僅僅為了推倒看上去沒啥意義,但你有一些奇怪的愛好)

然而你在搭建過程中可能會弄倒骨牌,這將波及到鄰近的部分

現在需要你來求將骨牌搭建完成所需的期望步數

若干組資料,以0結尾

乙個整數n(1 \leq n \leq 1000)(1≤n≤1000) 表示你需要搭的骨牌數量

兩個整數p_l,p_rpl​,pr​ 分別表示搭建某個骨牌時向左,向右傾倒的概率

對於每組資料,輸出乙個實數,保留兩位小數,為搭建完成的期望步數

10 0.25 0.25

10 0.1 0.4

10 0.0 0.5

046.25

37.28

20.00

期望是什麼?

概率與期望dp+區間dp

題面與區間dp類似。設e[i

]e[i]

e[i]

表示前i塊骨牌搭建完成的期望步數。

因此,對於前i塊骨牌,可以考慮當前放第j塊骨牌,該骨牌左側骨牌擺好的期望值為e[j

]e[j]

e[j]

,右側為e[i

−j−1

]e[i-j-1]

e[i−j−

1];顯然,e[j

]e[j]

e[j]

與e [i

−j−1

]e[i-j-1]

e[i−j−

1]互不影響

當前骨牌沒有倒:11−

pl−p

r\frac

1−pl−p

r1​向左倒:pl∗

e[j]

1−pl

−p

r\frac

1−pl−p

rpl∗

e[j]

​向右倒:pr∗

e[i−

j−1]

1−pl

−p

r\frac

1−pl−p

rpr∗

e[i−

j−1]​so

,e[i

]=e[

j]+e

[i−j

−1]+

11−p

l−pr

+pl∗

e[j]

1−pl

−pr+

pr∗e

[i−j

−1]1

−pl−

pr

so,e[i]=e[j]+e[i-j-1]+\frac+\frac+\frac

so,e[i

]=e[

j]+e

[i−j

−1]+

1−pl

−pr1

​+1−

pl−p

rpl∗

e[j]

​+1−

pl−p

rpr∗

e[i−

j−1]​e[

i]=m

in(1

1−pl

−pr+

(1−p

r)∗e

[k]1

−pl−

pr+(

1−pl

)∗e[

i−k−

1]1−

pl−p

r)(0

<=k

e[i]=min(\frac+\frac+\frac)(0<=ke[

i]=m

in(1

−pl−

pr1​

+1−p

l−pr

(1−p

r)∗e

[k]​

+1−p

l−pr

(1−p

l)∗e

[i−k

−1]​

)(0<=k

這樣得到乙個0(n2)的演算法,觀察狀態轉移方程第二項是不斷增大的,第三項是減少的,

第一項是常數,則ei是乙個單峰函式,且是下凹的,可以用二分或三分來優化,複雜

度為o(n*logn)

又因為e陣列是下凹的,利用這個性質,我們可以證明決策k是不減的,可以利用單調性來優化到o(n)的效率

#includeusing namespace std;

const int n=1e3+10;

double f[n],pl,pr;

int n;

double getdp(int i,int j)

double solve()

return f[n];

}int main()

return 0;

}

演算法 概率與期望DP

前兩節主要針對題目分析,沒時間的珂以跳過。首先舉一道簡單 經典的好題 lightoj1038 race to 1 again 懶得單獨寫,安利一下dennyqi同學的部落格 很顯然很多期望題的狀態是和自己有關的,怎麼辦呢,難道不停的搜尋自己?上面的方法顯然行不通,於是我們只能簡單變形一下。很容易列出...

期望概率 dp

p4316 綠豆蛙的歸宿 p1850 noip2016 提高組 換教室 p3802 小魔女帕琪 p5104 紅包發紅包 p4550 收集郵票 f i frac f i 1 frac f 1 g i frac g i f i 1 frac g f 1 p1291 shoi2002 百事世界盃之旅 p3...

(概率dp 期望)Collecting Bugs

題目是真的長,找了半天才知道n和s是啥,題意就是有s個程式,n種bug 每一天必定發現乙個bug,但是這個bug有1 s概率屬於其中乙個程式,1 n的概率屬於一種bug,求s個程式要發現n種bug的概率。kuangbin大佬部落格 期望從結果倒著推到初始狀態 dp i j i n s dp i j ...