码迷,mamicode.com
首页 > 其他好文 > 详细

#3 Codeforces-865C Gotta Go Fast(期望dp)

时间:2018-04-20 17:59:56      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:str   计算   游戏   有关   时间   题意   要求   i+1   code   

题意:一个游戏一共有n个关卡,对于第i关,用a[i]时间通过的概率为p[i],用b[i]通过的时间为1-p[i],每通过一关后可以选择继续下一关或者时间清0并从第一关开始,先要求通过所有关卡的时间和不能超过R才算彻底通关,问直到彻底通关位置的游戏时间的期望值为多少

题解:

刚开始没看懂题目就直接看题解了。。

不过我感觉对这类题天生不太擅长。。

令f[i][j]表示当前为第i关,用时为j(这个还是挺好想的)

然后呢就就是期望的套路倒推一下

f[i][j]=(f[i+1][j+a[i]]+a[i])*p[i]+(f[i+1][j+b[i]]+b[i])*(1-p[i])

但是呢还有回城操作(我的不擅长之处)

首先二分答案期望长度mid

然后 对于f[i][j](j>R) 那显然就回城了 所以等于mid

另外 当f[i][j]计算出来的值大于mid的时候 说明它后面再走下去还不如回城呢对吧??

虽然还是挺直观的,但感觉这个dp真是非常的神奇啊。。

#3 Codeforces-865C Gotta Go Fast(期望dp)

标签:str   计算   游戏   有关   时间   题意   要求   i+1   code   

原文地址:https://www.cnblogs.com/yinwuxiao/p/8892104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!