简单题[期望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]
应正向循环

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

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

全部评论

相关推荐

12-16 18:18
四川大学 后端
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务