一張圖,n
nn次,每次在c
ic_i
ci上課,可以申請換課室到d
id_i
di,成功概率k
ik_i
ki。求最短需要走的路徑的期望長度
先f lo
dy
flody
flod
y預處理多源最短路,然後考慮dpdp
dp設fi,
j,0/
1f_
fi,j,0
/1表示前i
ii次,已經申請了j
jj次,這次是否申請了,的最短期望長度。
為了方便我們定義lc=
ci−1
,ld=
di−1
,nc=
ci,n
d=di
lc=c_,ld=d_,nc=c_i,nd=d_i
lc=ci−
1,l
d=di
−1,
nc=c
i,n
d=difi
,j,0
==\left\ f_+dis_ & \\ f_+k_*dis_+(1-k_)*dis_ \end\right.
fi,j,0
==\left\ f_+k_i*dis_+(1-k_i)*dis_ & \\ f_+k_*k_i*dis_+(1-k_)*k_i*dis_+ k_*(1-k_i)*dis+(1-k_)*(1-k_i)*dis_ \end\right.
fi,j,1
=for(
int ks=
1;ks<=v;ks++
)for
(int i=
0;i<=n;i++
)for
(int j=
0;j<=m;j++
) f[i]
[j][0]
=f[i]
[j][1]
=2147483647/3
; f[1]
[1][
1]=f[1][
0][0
]=0;
for(
int i=
2;i<=n;i++)}
} mins=
2147483647;if
(n==
1) mins=0;
for(
int j=
0;j<=m;j++
) mins=
min(mins,
min(f[n]
[j][0]
,f[n]
[j][1]
));printf
("%0.2lf"
,mins)
;}
洛谷P1850 換教室 數學期望 Floyd
調了一下午qaq 讓我對數學期望的理解又提公升了乙個層次。首先,我們發現 v 3 00,這樣我們就可以用 fl oyd 演算法來 o n3 處理出任意兩點間的最短路。對於題目,我們不難列出狀態dp i j 0 1 這個狀態代表 走到第 i個點,用了 j次機會,當前使用了 0表示未使用,1表示使用 機...
P1850 換教室 期望DP
對於剛上大學的牛牛來說,他面臨的第乙個問題是如何根據實際情況申請合適的課程。在可以選擇的課程中,有 2n2n2n 節課程安排在 nnn 個時間段上。在第 iii 1 i n1 leq i leq n1 i n 個時間段上,兩節內容相同的課程同時在不同的地點進行,其中,牛牛預先被安排在教室 cic i...
P1850 換教室 dp 期望
流下了不會概率的眼淚,由於不會概率,轉移少寫了點東西。這個dp很簡單,就是乙個普通的線性dp加點期望。剛開始寫這道題時信筆寫下 dp 0 1 i j 表示到第 i 個時間段時,已經申請了換 j 門課程的教室,當前申請0不換 1換教室的最小數學期望。注意,我們的狀態定義是申請,而不是已經申請成功,這樣...