#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真是非常的神奇啊。。