整體思路:
這節課換了教室的期望路程 = min(上節課換了教室的期望路程 + 上節課教室到這節課教室的期望路程, 上節課沒換教室的期望路程+ 上節課教室到這節課教室的期望路程)
這節課沒換教室的期望路程 = min(上節課換了教室的期望路程 + 上節課教室到這節課教室的期望路程,上節課沒換教室的期望路程+ 上節課教室到這節課教室的期望路程)
上節課教室到這節課教室的期望路程 = 某一情況路程 * 這一情況發生的概率;
dp[i][j][0/1]第i節課換了j次這節課換或不換
細節:初值,邊界,
#include#include#includeusing namespace std;
int n, m, v, e,c[2005],d[2005],bian[2005][2005];
double k[2005],f[2005][2005][2],ans = 1e18;
int main()
for(int i = 1; i <= n; i++)
for(int i = 1; i <= n; i++)
memset(bian,0x3f3f3f3f3f,sizeof(bian));
for(int i = 1; i <= e; i++)
for(int i = 1; i <= v; i++)
bian[i][i] = 0;
for(int e = 1; e <= v; e++)
for(int i = 1; i <= v; i++)
for(int j = 1; j <= v; j++)
bian[i][j] = min(bian[i][j],bian[i][e] + bian[e][j]);
for(int i = 1; i <= n; i++)
for(int j = 0; j <= m; j++)
f[1][0][0] = f[1][1][1] = 0;
for(int i = 2; i <= n; i++)}}
for(int i = 0; i <= m; i++)
printf("%0.2lf", ans);
return 0;
}
NOIP2016 換教室 期望DP
嗯,noip歷年真題什麼的,到處都有,抓一道就是三四倍經驗題,我就不寫題目描述了23333 偷個懶一定不會被人發現的 事實上,這是我第一次做概率與期望dp的題目,不是很懂套路,然後就想了很久很久,沒什麼太多的頭緒。首先我覺得應該是用f i j 儲存前i個時間段,申請換j次課,期望收穫到的疲勞值。但是...
Noip 2016 換教室 期望DP
期望反映了乙個隨機變數的平均結果,是所有可能結果的概率乘上結果的和。例如對於乙個隨機變數x,1 3機率變為1,1 3機率變為2,1 3機率變為3,則x的期望值為 13 1 1 3 2 13 3 21 3 1 13 2 1 3 3 2期望具有線性性質,我們可以根據加法原理和乘法原理來對期望進行計算 可...
NOIP2016 換教室 期望DP
傳送門 題解 本蒟蒻第一次知道期望是啥意思。很簡單,就是全部概率 價值求和 感覺期望差不多都和dp有關吧 設d p i j 0 1 dp i j 0 1 dp i j 0 1 表示選到第i節課,已經申請了換j節課,其中第i節選 不選的期望。dis用floyd處理一下即可。include includ...