這個思想真是太經典了!
為什麼要正向推概率,反向推期望呢?
事件a在另外乙個事件b已經發生條件下的發生概率。條件概率表示為p(a|b),讀作「在b條件下a的概率」。
然後,我們再看看什麼是貝葉斯公式。
算了,我就不扯了,自己點進去看吧。
現在,正文來了。
拿飛行棋來說,可以先看看hdu 4405 aeroplane chess
我寫了3種方法算從0到n的平均步數,很明顯,最後那個逆推的演算法比前面2個順推的演算法要簡單的多。
舉個例子,假設n=20,m=0(即沒有飛行線)
先看倒推。假設你已經在第10格了,那麼你下面會有6種情況,11,12,13,14,15,16,你會以各自1.0/6的概率到底每乙個格仔。
所以times[i]
=(times[i +1]
+ times[i +2]
+ times[i +3]
+ times[i +4]
+ times[i +5]
+ times[i +6])
/6+1
再看看順推有什麼不一樣???
假設你想要到達第10格,那麼你仍然有6種方案,從4到10,從5到10,從6到10,從7到10,從8到10,從9到10,
但是這6種方案的概率不是1.0/6 !
為什麼會這樣呢?
因為,飛行棋我們都知道,有些格仔是到不了的,就是說你跳過去了,沒有經過它。
所以說,能夠到達每個格仔的概率都是乙個常數,但是這個常數很複雜,幾乎沒什麼規律。
簡單的說,假設能夠到達4的概率是0.99,能夠到達5,6,7,8,9的概率都是0.0001,
再假設從0到4平均要2步,從0到5,6,7,8,9的平均步數都是4步(請忽略我這個假設能否對應到真實的情況)
那麼,到達10之前很可能就是從4跳過來的,那麼到達10的平均步數就是大約3。
對於這種結局一定的遊戲,求期望應該倒推(我認為我已經說清楚了為什麼)
對於有些遊戲,結局是無法預判的,只能說結局是某種情形的概率是多少,這種情況自然只能順推了。
例如 csu 1725 加爾魯什·地獄咆哮對陣虛靈大盜拉法姆
期望概率 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...
sgu495 概率dp 推公式
概率題。可以dp也可以推公式 抽象出來的題目大意 有 n個小球,有放回的取m次 問 被取出來過的小球的個數的期望 dp維護兩個狀態 第 i 次取出的是 沒有被取出來過的小球的 概率dp i 和取出的是已經被取出來過的小球的概率np i 如果第 i 1 次取出的是已經被取出來過的小球 那麼第 i 次取...
(概率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 ...