poj 3744 概率dp 矩陣快速冪

2021-08-14 22:23:53 字數 914 閱讀 9598

/*

poj 3744

題目大概是

小明要走一段路

有p的概率走一步

(1-p)的概率走兩步

然後上面有雷

問安全通過的概率

題目通過雷把路程分為多段

把每段安全通過的概率相乘

就是整段安全通過的概率

設dp[i]是小明安全到i的概率

到i的方式有兩種

一種是從(i-1)走一步

第二種是從(i-2)走兩步

所以安全到dp[i]的概率就是

dp[i]=p*dp[i-1]+(1-p)dp[i-2]

因為資料問題

用矩陣來優化**

最後把所求的每一段相乘即可

*/#include

#include

#include

#include

#include

#define mod 1000000007

#define max 100005

#define ll long long

#define pi acos(-1)

using namespace std;

struct matrix

mat;

int res[15];

matrix matrixmul(matrix a,matrix b)

return c;

}matrix quickpow(matrix m,ll n)

return b;

}int main()

double rel=1;

for(int i=1;i<=n;i++)//全部相乘得結果

printf("%.7lf\n",rel);

}return 0;

}

poj3744 概率dp 矩陣乘法

在一條路上有n個地雷,有個sb人按照心情走在這條路上,往前走1步的概率是p,往前走2步的概率是 1 p 求他活著走過這條路的概率。很容易想到一種dp方程 f i p f i 1 1 p f i 2 然而一看範圍 1,100000000 怎麼可能不超時呢 然後可以這麼想 只要避開了最後乙個地雷不就安全...

POJ3744題解 概率dp,矩陣快速冪

士兵從起點1出發,每次移動有p的概率走一步,有1 p的概率走兩步,已知有n個格仔有地雷,問士兵不踩地雷的概率。第一道真正意義上的概率dp題目,一開始打算令dp i 意為更新到i點時踩雷的概率,dp i p dp i 1 1 p dp i 2 這樣寫看上去也是對的 第一眼看上去的角度上來說 但是其實並...

poj 3744 矩陣優化的概率DP

題意 你在一條布滿地雷的道路上,開始在座標1。每次有概率p向前走一步,有概率1 p向前走兩步。道中路某幾個點上會有地雷,問你安全通過的概率。地雷數n 10,座標範圍在100000000內。假設dp i 表示安全走到i點的概率,那麼dp i p dp i 1 1 p dp i 2 很簡單的乙個轉移,可...