【总结】待定系数求解高斯消元
摘要:运用待定系数法建立方程求解期望值。
「HDU4035」Maze
本题 n n n 比较大,很难用高斯消元求解。
考虑叶子节点,有关系式:
d p [ i ] = k [ i ] ∗ d p [ 1 ] + ( 1 − k [ i ] − e [ i ] ) ( d p [ f a [ i ] ] + 1 ) dp[i]=k[i]*dp[1] + (1-k[i]-e[i]) (dp[fa[i]]+1) dp[i]=k[i]∗dp[1]+(1−k[i]−e[i])(dp[fa[i]]+1)
这启发我们用待定系数法来求解。
一般地,设 d p [ i ] = A [ i ] ∗ d p [ 1 ] + B [ i ] ∗ d p [ f a [ i ] ] + C [ i ] dp[i]=A[i]*dp[1] + B[i]*dp[fa[i]] + C[i] dp[i]=A[i]∗dp[1]+B[i]∗dp[fa[i]]+C[i]
对于一般的节点,有转移式:
d p [ i ] = k [ i ] ∗ d p [ 1 ] + ( 1 − e [ i ] − k [ i ] ) ∗ ∑ j ∈ s o n ( i ) ( d p [ j ] + 1 ) m dp[i]=k[i]*dp[1]+\frac{(1-e[i]-k[i])*\sum_{j\in son(i)}(dp[j]+1)}{m} dp[i]=k[i]∗dp[1]+m(1−e[i]−k[i])∗∑j∈son(i)(dp[j]+1)
最后再解一个方程即可。
「ZOJ3329」One Person Game
考虑逆推。
设 d p [ i ] dp[i] dp[i] 表示当前在第 i i i 格时到达终点的期望步数。
设骰子为 (a,b,c) 的概率为 p0 ,否则总和为 j 的概率为 pj 。
不难得到这样的式子:
d p [ i ] = ∑ j = 0 a + b + c p [ j ] ∗ d p [ i + j ] + p [ 0 ] ∗ d p [ 1 ] dp[i]=\sum_{j=0}^{a+b+c}p[j]*dp[i+j]+p[0]*dp[1] dp[i]=∑j=0a+b+cp[j]∗dp[i+j]+p[0]∗dp[1]
直接消元时间复杂度 O ( n 3 ) O(n^3) O(n3) 。
观察到每一项都和 d p [ 0 ] dp[0] dp[0] 有关。
设 d p [ i ] = A [ i ] ∗ d p [ 0 ] + B [ i ] dp[i]=A[i]*dp[0]+B[i] dp[i]=A[i]∗dp[0]+B[i]
A[i] , B[i] 不难递推得到。
最后解出 d p [ 0 ] dp[0] dp[0] 的方程即可。
总结:本题设而不求时关键。以及递推思想的运用。
__EOF__

本文链接:https://www.cnblogs.com/cqbzly/p/17530223.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」