简单题[期望DP]

也许更好的阅读体验
D e s c r i p t i o n \mathcal{Description} Description
桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元。可以随时停止翻牌,在最优策略下平均能得到多少钱。
S o l u t i o n \mathcal{Solution} Solution

f [ i ] [ j ] f[i][j] f[i][j]表示有 i i i张红牌, j j j张黑牌的期望收益
考虑翻一张牌,有两种情况

  1. i i + j \frac{i}{i+j} i+ji的概率翻到红牌,此后就只有 i 1 i-1 i1张红牌, j j j张黑牌
  2. j i + j \frac{j}{i+j} i+jj的概率翻到黑牌,此后就只有 i i i张红牌, j 1 j-1 j1张黑牌

需要注意的是,不要忘了翻开的牌的贡献
翻开一张牌后,该颜色牌数目就少了一张

所以有
f [ i ] [ j ] = i i + j ( f [ i 1 ] [ j ] + 1 ) + j i + j ( f [ i ] [ j 1 ] 1 ) f[i][j]=\frac{i}{i+j}(f[i-1][j]+1)+\frac{j}{i+j}(f[i][j-1]-1) f[i][j]=i+ji(f[i1][j]+1)+i+jj(f[i][j1]1)
由于是最优策略,所以咱是不可能赔钱的
f [ i ] [ j ] = m a x ( 0 , i i + j ( f [ i 1 ] [ j ] + 1 ) + j i + j ( f [ i ] [ j 1 ] 1 ) ) f[i][j]=max(0,\frac{i}{i+j}(f[i-1][j]+1)+\frac{j}{i+j}(f[i][j-1]-1)) f[i][j]=max(0,i+ji(f[i1][j]+1)+i+jj(f[i][j1]1))

初值 f [ 0 ] [ 1 ] = 0 , f [ 1 ] [ 0 ] = 1 f[0][1]=0,f[1][0]=1 f[0][1]=0,f[1][0]=1,答案为 f [ R ] [ B ] f[R][B] f[R][B]
应正向循环

本篇博客亦被收进期望总结

如有哪里讲得不是很明白或是有错误,欢迎指正
如您喜欢的话不妨点个赞收藏一下吧

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务