好像noip一眼看去,全是dp。
題面題意:有k個回合,n個物品,每回合隨機掉乙個物品i,有p[i]的價值。可以選擇撿或不撿。對於每件物品,若想撿它,都要撿完它的先決物品,問最大期望價值。n≤15,k≤100。
大概就是個狀壓dp,用f[s][i]表示i回合選了集合s的物品,所得到的最大期望。
若每回合都必須選,k回合後得到的每個狀態的概率才是可算的。但由於策略原因,到達最終的每個狀態的概率並不可知,無法計算對答案的貢獻。所以這題用逆推。(其實我也是看dalao題解知道的…)
所以,用f[s][i]表示i回合選了集合s的物品,再經過k-i個回合,所能得到的最大期望。
考慮第i+1個回合,掉每件物品的概率都是1n
。 列舉會掉的物品j,若s中並不包含j的全部先決物品,有 f[
s][i
]+=1
nf[s
][i+
1]否則 f[
s][i
]+=1
nmax
(f[s
|(1<
][i+
1]+p
[j],
f[s]
[i+1
])
f[0][1]為答案。
珂學真是太好玩了。
BZOJ 1076 獎勵關 狀壓期望DP
當前得分期望 上一輪得分期望 這一輪得分 m dp i,j 第i輪拿的物品方案為j的最優得分期望 如果我們正著去做,會出現從不合法狀態 比如前i個根本無法達到j這種方案 所以從後向前推 如果當前方案j裡具備了取k這個物品的條件 那麼dp i,j max 否則dp i,j dp i 1,j inclu...
bzoj1076 獎勵關 期望dp
題目傳送門 題目大意 總共有k次彈出寶物的機會,寶物共有n種,彈出不同的寶物的概率相同的,是每個寶物都有價值,和選擇這個寶物的限制 必須具有特定的寶物 問最後的最優期望是多少。思路 正向推概率,反向推期望。一看資料範圍就知道肯定是狀壓。這裡推薦乙個大佬的部落格 考慮f i j j為二進位制數,表示在...
bzoj1076 獎勵關 狀壓dp 概率dp
題意 給出n種物品,每種物品有牽制條件和價值,有k次選擇機會,每次每個物品等概率出現,問平均情況下最大收益。n 15 首先看到這個n的範圍和限制條件就應該想到是狀壓。定義陣列f i j 為當前處在第i次拋物品時間,狀態為j。但是如果我們僅僅這樣定義並正向轉移就會遇到乙個問題 我們是有可能從無效狀態推...