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

Posted yinwuxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#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真是非常的神奇啊。。

以上是关于#3 Codeforces-865C Gotta Go Fast(期望dp)的主要内容,如果未能解决你的问题,请参考以下文章

You Gotta Care About the Code

Codeforces 866C Gotta Go Fast - 动态规划 - 概率与期望 - 二分答案

英语口语中的缩写

学英语《老友记》s1e1 part1 咖啡馆的小聚

同余定理

c_cpp c中3乘3阵列