bzoj 3270 博物館 高斯消元 期望轉移

2022-05-16 01:40:48 字數 996 閱讀 4426

乍一看比較難想到這是一道高斯消元的題目,因為概率不好轉移,得不到方程。

但是反過來想,用f(a,b)來表示,兩個人分別在a房間和b房間的期望。那麼這個期望是可以通過與其相連的房間的期望累加得到的:

這裡的f[p,q]是列舉的出發點,而p1是其對應的概率;

所以可以看出乙個多元帶有係數的方程,這才引出了高斯消元;

需要用乙個函式對 點對進行編號 code(i,j)

特別注意的是:

a[code(a,b)][tot+1]=-1

a,b是初始狀態,期望肯定是有乙個1的,移項後得-1;

下見**:

#include 

#include

#include

#include

#include

#define eps 0.0000000001

#define cnt (n*n)

using

namespace

std;

int n,m,a1,b,d[50],mp[50][50];

double a[500][500],p[50];

int code(int i,int j)

void build(int x,int y)

} void gauss()

}}int main()

for(int i=1;i<=n;i++)scanf("%lf",&p[i]),mp[i][++d[i]]=i;//可留在原地,所以起始點多了自己;

for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++)

build(i,j);

gauss();

for(int i=1;i<=n;i++)

printf("%.6lf ",a[code(i,i)][cnt+1]/a[code(i,i)][code(i,i)]);

return

0; }

BZOJ 3270 博物館 概率 高斯消元

source實力透露做法。似乎有這麼個式子 f i,j pi p j f i,j 1 pi di p j f x,j 1 pj dj p i f i,y 1 pi di1 pjdj f x,y x adj i,y adjj 然後還有f a,b 1答案為f i,i 開n n個變數的方程組高斯消元?時間...

bzoj3270 博物館 期望 高斯消元

傳送門本題的點數很少,只有20個 考慮用二元組 s u,v 表示甲在 u 點,乙在 v 點的狀態 那麼可以用 f s 表示狀態 s 出現的概率 不同的 f 之間的轉移就是通過邊 轉移有4種情況 對於 s u,v 來說,有以下四種轉移 轉移一,甲乙都選擇不動,此時從 s 轉移到 s 概率為 p u p...

概率dp 高斯消元 bzoj3270 博物館

一類成環概率dp的操作模式 有一天petya和他的朋友vasya在進行他們眾多旅行中的一次旅行,他們決定去參觀一座城堡博物館。這座博物館有著特別的樣式。它包含由m條走廊連線的n間房間,並且滿足可以從任何一間房間到任何一間別的房間。兩個人在博物館裡逛了一會兒後兩人決定分頭行動,去看各自感興趣的藝術品。...