概率dp-九度-1546-迷宫问题

博客探讨了一个起点为S,包含多个出口的迷宫问题。在每次随机选择下一步时等概率行走,通过高斯消元计算从S到任意出口的期望步数。首先进行BFS预处理找到可达的出口,若起点无法到达出口则输出-1。接着建立线性方程组,根据当前位置相邻可走位置的数量调整概率,并解决方程。在解方程过程中,处理无解的未知数以防止干扰有解的部分。最后给出了代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:

http://ac.jobdu.com/problem.php?pid=1546

题目意思:

有一个起点S,多个出口E,#代表不能走,每次等概率的随机选择下一个可以行走的位置,求从S到出口的期望。

解题思路:

高斯消元求解期望。

先BFS预处理能够到达的出口的位置,然后如果从起点不能到达终点,直接输出-1.

然后对于无效的点,置该未知数的解为-1,否则依据dp[i][j]=1+dp[i-1][j]*1/4+dp[i][j+1]*1/4+dp[i+1][j]*1/4+dp[i][j-1]*1/4,构建n*m个方程,注意有些位置的可行位置数小于4,为cnt的话,此时的下一步概率为1/cnt.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值