題面
狀態設計
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 inf 1<<29
using
namespace std;
const
int maxn=
2000+5
,maxm=
300+5;
double f[maxn]
[maxn][2
];//f[i][j][k]表示第i天,提出j次申請,01表示該點不申請或申請 。
int dis[maxn]
[maxn]
;int c[maxn]
,d[maxn]
;double k[maxn]
;int n,m,v,e;
double ans=inf;
inline
intread()
while
(ch<=
'9'&&ch>=
'0')
return x*f;
}void
init()
for(
int i=
0;i<=n;i++
)for
(int j=
0;j<=m;j++
) f[1]
[0][
0]=f[1][
1][1
]=0;
for(
int i=
1;i<=n;i++
) c[i]
=read()
;for
(int i=
1;i<=n;i++
) d[i]
=read()
;for
(int i=
1;i<=n;i++
)scanf
("%lf"
,&k[i]);
for(
int i=
1;i<=e;i++)}
void
floyd()
}void
chance_dp()
}}void
work()
intmain()
NOIP2016換教室 概率DP
本題由於演算法比較顯然,直接寫出演算法 luogu 1850 本題概率dp,狀態 f i j 1 0 前i門課選擇了j門要處理換,第i門決定要換的到達狀態期望距離 初始化 f 1 1 1 f 1 0 0 0,別的f設inf 對圖上的所有兩點進行floyd 由於我們知道對於乙個狀態是從哪個地方轉化過來...
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期望具有線性性質,我們可以根據加法原理和乘法原理來對期望進行計算 可...