Codeforces Round #604 (Div. 2) E. Beautiful Mirrors 期望dp
傳送門
文章目錄
- 題意:
- 思路:
題意:
要從111走到nnn,每次成功走下去的概率為pi100\frac{p_i}{100}100pi??,如果不成功那就回到111號(hào)點(diǎn)繼續(xù)走。問走完nnn個(gè)點(diǎn)的期望是多少。
思路:
以前見過這種失敗了就回到起點(diǎn)的期望dpdpdp,但還是想了很久。
考慮f[i]f[i]f[i]表示到當(dāng)前點(diǎn)的期望步數(shù)。如果成功了的話,那就是直接從f[i?1]f[i-1]f[i?1]轉(zhuǎn)移過來就行。如果失敗了的話,那就是從i?1i-1i?1走過來,但是回到了起點(diǎn),再加上到iii點(diǎn)的期望就行啦,寫成dpdpdp方程的形式是這樣的:f[i]=(f[i?1]+1)?pi100+(f[i?1]+f[i]+1)?100?pi100f[i]=(f[i-1]+1)*\frac{p_i}{100}+(f[i-1]+f[i]+1)*\frac{100-p_i}{100}f[i]=(f[i?1]+1)?100pi??+(f[i?1]+f[i]+1)?100100?pi??化簡一下就是f[i]=100?(1+f[i?1])p[i]f[i]=\frac{100*(1+f[i-1])}{p[i]}f[i]=p[i]100?(1+f[i?1])?用快速冪求逆元就行啦。
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #604 (Div. 2) E. Beautiful Mirrors 期望dp的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++编程:拷贝构造函数的构建操作
- 下一篇: Educational Codeforc