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

题意:一个游戏一共有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真是非常的神奇啊。。

posted @ 2018-04-20 17:02  尹吴潇  阅读(161)  评论(0编辑  收藏  举报