bzoj 3029 守衛者的挑戰 概率dp

2021-08-02 15:48:06 字數 701 閱讀 9515

有n個位置,每個位置有乙個權值ai,若ai<0則ai必為-1,且有pi的概率獲得這個值。初始值為k。現在問至少獲得了l個值且獲得的值的和不小於0的概率。

n<=200,l<=n,ai,k<=2000

設f[i,j,k]表示到第i個位置,拿了j個值,當前和為k的概率。

顯然若當前的值大於n的話就一定可以滿足和不小於0,那麼就把大於n的放到n這裡就好了。

轉移隨便yy一下就好了。

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int n=201;

int n,m,l,a[n];

double p[n],f[n][n][401];

void modify(int i,int j,int k,double w)

int main()

double ans=0;

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

for (int k=0;k<=n;k++)

ans+=f[n][j][k+n];

printf("%.6lf",ans);

return

0;}

BZOJ3029 守衛者的挑戰

第一行三個整數n,l,k。第二行n個實數,第i個實數pi表示第i項挑戰成功的百分比。第三行n個整數,第i個整數ai表示第i項挑戰的屬性值.乙個整數,表示所求概率,四捨五入保留6 位小數。樣例輸入1 3 1 0 10 20 30 1 1 2 樣例輸入2 5 1 2 36 44 13 83 63 1 2...

bzoj3029 守衛者的挑戰

題目 題目描述 監獄的所在地。突然,眼前一道亮光閃過。我,nizem,是黑魔法聖殿的守衛者。如果你 能通過我的挑戰,那麼你可以帶走黑魔法聖殿的地圖 瞬間,隊員們被傳送到了乙個擂 台上,最初身邊有乙個容量為 k 的包包。擂台賽一共有 n 項挑戰,各項挑戰依次進行。第i 項挑戰有乙個屬性 ai 如果ai...

BZOJ3029 守衛者的挑戰 期望DP

time limit 2 sec memory limit 128 mb submit status discuss 的地圖殘片。地圖殘片必須裝在包包裡才能帶出擂台,包包沒有必要全部裝滿,但是隊員們必須把 獲得的所有的 地圖殘片都帶走 沒有得到的不用考慮,只需要完成所有n項挑戰後揹包容量足夠容納地圖...