BZOJ 1076 獎勵關 狀壓期望DP

2022-05-27 01:09:09 字數 538 閱讀 2820

當前得分期望=(上一輪得分期望+這一輪得分)/m

dp[i,j]:第i輪拿的物品方案為j的最優得分期望

如果我們正著去做,會出現從不合法狀態(比如前i個根本無法達到j這種方案),所以從後向前推

如果當前方案j裡具備了取k這個物品的條件

那麼dp[i,j]+=max

否則dp[i,j]+=dp[i+1,j]

#include#include

using

namespace

std;

double f[101][65536

];int

n,k,t;

int v[20],d[20],p[20

];int

main()

}for(int i=n;i;i--)

for(int j=0;j<=p[k+1]-1;j++)

printf(

"%.6lf

",f[1][0

]);

return0;

}

view code

BZOJ1076 獎勵關(狀壓期望dp)

好像noip一眼看去,全是dp。題面題意 有k個回合,n個物品,每回合隨機掉乙個物品i,有p i 的價值。可以選擇撿或不撿。對於每件物品,若想撿它,都要撿完它的先決物品,問最大期望價值。n 15,k 100。大概就是個狀壓dp,用f s i 表示i回合選了集合s的物品,所得到的最大期望。若每回合都必...

bzoj1076 獎勵關 期望dp

題目傳送門 題目大意 總共有k次彈出寶物的機會,寶物共有n種,彈出不同的寶物的概率相同的,是每個寶物都有價值,和選擇這個寶物的限制 必須具有特定的寶物 問最後的最優期望是多少。思路 正向推概率,反向推期望。一看資料範圍就知道肯定是狀壓。這裡推薦乙個大佬的部落格 考慮f i j j為二進位制數,表示在...

bzoj1076 獎勵關 狀壓dp 概率dp

題意 給出n種物品,每種物品有牽制條件和價值,有k次選擇機會,每次每個物品等概率出現,問平均情況下最大收益。n 15 首先看到這個n的範圍和限制條件就應該想到是狀壓。定義陣列f i j 為當前處在第i次拋物品時間,狀態為j。但是如果我們僅僅這樣定義並正向轉移就會遇到乙個問題 我們是有可能從無效狀態推...