poj3744 矩陣快速冪

2022-08-17 07:12:23 字數 903 閱讀 5968

題意:起點為1,走一步的概率為p, 走兩步的概率為1-p, 

有n個地雷, 給出地雷所在的位置,求安全避過所有地雷的概率

思路:注意特判地雷在1位置和兩個地雷相隔單位1的情況的結果都是0

設x[i]為走距離為i時的概率

安全距離為a的概率= x[a - 1] * p + x[a - 2] * (1 - p)

知道這個通式後就用矩陣快速冪啦

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 

8 #include 9 #include 10 #include 11

#define inf 0x3f3f3f3f

12using

namespace

std;

1314

int n, x[20

];15

double

p;16

struct

node;

19node mul(node p, node l)

2028

double juz(int

x)29

48return m.res[0][0] * p + m.res[0][1

];49}50

intmain()

5166

if(x[i] == x[i - 1

])67

continue

;68 res *= juz(x[i] - x[i - 1] - 2) * (1 -p);69}

70 printf("

%.7f\n

", res);71}

72return0;

73 }

poj 3744 概率dp 矩陣快速冪

poj 3744 題目大概是 小明要走一段路 有p的概率走一步 1 p 的概率走兩步 然後上面有雷 問安全通過的概率 題目通過雷把路程分為多段 把每段安全通過的概率相乘 就是整段安全通過的概率 設dp i 是小明安全到i的概率 到i的方式有兩種 一種是從 i 1 走一步 第二種是從 i 2 走兩步 ...

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

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

poj3744 概率dp 矩陣乘法

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