本題是POJ月賽八月份題。
題意是某人在整數線上向前走。一開始時他站在第一格。給出向前跳一格的概率為

、兩格的概率為

、其中

。同時給出

個不可以停留的格子

,問能跳過這

個格子的概率是多少。
假設

為當前在第

格的概率。若果對基本概率有認識的話,不難發現如下關係﹕

由此即可以線性時間求出

。然後要跨過

的話,

。
如此一來解決

的問題出現重疊,解法一致,也可以應用於所有

。求出答案即是求

。
不過在時限內利用線性時間求出答案還是很勉強。不難留意上述公式其實是一個線性遞迴式,由此可以利用矩陣表示其關係﹕

想求出

的話則可以利用矩陣乘法,在

的時間以如下算式求出﹕

請特別留意當

的情況。
還有,死活過不了的朋友,請先為

做一遍排序…
沒有留言:
張貼留言