CodeForces 1009E Intercity Travelling 概率DP

博客详细解析了CodeForces上的1009E问题,该问题涉及概率和动态规划。题目要求在随机传送的情况下,从1号点开始走n步,求走过的元素和的期望值。博主通过定义状态转移方程,给出了解决问题的动态规划思路,并提供了AC代码。
摘要由CSDN通过智能技术生成

原题链接

题意

  • 给我们一个长为n的序列,要求我们从头开始向右走n个节点,每个位置都有1 / 2的概率将我们传送回1号点之前,不过我们只需要完成走n步的任务就可以了。求我们走过的元素和 乘以 2的n - 1次方的期望。

思路

  • 重点主要是将题意翻译为上面的“传送回一号元素之前”,这样我们就可以从1号位置考虑。

  • 我们定义 F [ i ] F[i] F[i] 为“已经走了i步,走完剩下的步数,获得的元素和乘以2的n - i - 1次方的期望”,也就是原问题的一个子问题

  • 然后我们可以想到初始状态

F [ n ] = 0 , F [ n − 1 ] = a 1 F[n] = 0, F[n - 1] = a_1 F[n]=0,F[n1]=a1

  • 然后继续推可知

F [ n − 2 ] = a 1 + F [ n − 1 ] + ( a 1 + a 2 ) F [ n − 3 ] = a 1 ∗ 2 + F [ n − 2 ] + ( a 1 + a 2 ) + F [ n − 1 ] + ( a 1 + a 2 + a 3 ) F [ n − 4 ] = a 1 ∗ 4 + F [ n − 3 ] + ( a 1 + a 2 ) ∗ 2 + F [ n − 2 ] + ( a 1 + a 2 + a 3 ) + F [ n − 1 ] + ( a 1 + a 2 + a 3 + a 4 ) F[n - 2] = a_1 + F[n - 1] + (a_1 + a_2)\\ F[n - 3] = a_1 * 2 + F[n - 2] + (a_1 + a_2) + F[n - 1] + (a_1 + a_2 + a_3)\\ F[n - 4] = a_1 * 4 + F[n - 3] + (a_1 + a_2) * 2 + F[n - 2] + (a_1 + a_2 + a_3) + F[n - 1] + (a_1 + a_2 + a_3 + a_4) F[n2]=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值