本題由於演算法比較顯然,直接寫出演算法
luogu 1850
本題概率dp,
狀態 f[i][j][1/0]前i門課選擇了j門要處理換,第i門決定要換的到達狀態期望距離
初始化:f[1][1][1]=f[1][0][0]=0,別的f設inf ,對圖上的所有兩點進行floyd
由於我們知道對於乙個狀態是從哪個地方轉化過來增加距離只與i和i-1的概率有關(失敗或成功要從哪個結點轉向另外哪乙個點有距離*概率的和為其轉化狀態的期望)
然後對於f[i][j][0]有
min 這裡的i-1 0 和 i 0 就是 c[0]和 d[0] ,即從哪個變數的成功或失敗後的位置,失敗為 0 ,成功為 1
然後對於f[i][j][1]
min最後答案在f[n][1->m][0\1]中找就可以了。
#include#include#include#include#includeusing namespace std;int n,m,v,e;
int dis[305][305];
double f[2005][2005][2];
int c[2005],d[2005];
double k[2005];
int main()
dis[i][i]=0;
} for(int i=1;i<=e;i++) }
double ans = 1e9;
for(int i=0;i<=m;i++)
printf("%.2lf",ans);
}
Noip2016換教室 概率dp)
題面 狀態設計 f i j k 表示第i天,提出j次申請,0,1表示該點不申請或申請 dp方程 太長了鴿了 坑點 我的floyd為什麼沒有54分 存在重邊 包括寫正解卡我這麼久 然後我這麼寫的 dis a b dis a b dis b a dis b a 居然還有20。include define...
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期望具有線性性質,我們可以根據加法原理和乘法原理來對期望進行計算 可...