題目鏈結
逆推期望dp。設f[i][j]為1~i-1中吃到的寶物集合為j,在i~k輪能得到的最大期望分數。
如果不吃顯然f[i][j]+=f[i+1][j]/n
如果吃就是f[i][j]+=max(f[i+1][j]/n,(f[i+1][j|(1《然後照著這樣的方程式搞一搞,最後答案就是f[1][0]。
話說我一開始的狀態設計就是題解吐槽的那種,然後我想了乙個多小時發現:誒?轉移不動呀?
qwq
#include#include#include
#include
#include
#define maxk 110
#define maxn 16
using
namespace
std;
inline
long
long
read()
while
(isdigit(ch))
return num*f;
}double f[maxk][1
intq[maxk];
double
ans;
intcnt;
intmain()
}for(int i=m;i>0;--i)
for(int j=0;j<(1
if(flag) f[i][j]+=f[i+1
][j];
else f[i][j]+=max(f[i+1][j],f[i+1][j|o]+q[k]);
}f[i][j]/=(double
)n; }
printf(
"%.6lf
",f[1][0
]);
return0;
}
洛谷P2473 獎勵關 期望dp
csdn的介面真的是越來越醜了qwq qwq希望可以保留原來的樣式吧,真的不是很喜歡現在的介面了。搞不好到時候又要去註冊或者自己搭建部落格了。有nn 個物品,每乙個時刻隨機生成乙個物品,選擇該物品能獲得aia i 的價值,但是選擇一些物品可能需要先選擇其他物品。求最優策略下期望價值。哇這個人的期望d...
P2473 SCOI2008 獎勵關 題解
首先看這個範圍又看到這種題目,就知道是狀壓 dp 跑不了了。乙個直接的思路是設 f 表示當前到第 i 輪,寶物拿取狀態為 s 時的得分,但是我們發現這玩意直接推的話會出現一些奇奇怪怪的狀態,主要是這個系統有時扔出來的寶物不能讓你到達 s 或者是你推著推著 s 裡面 1 的個數就大於 i 了。所以我們...
期望DP SCOI2008 獎勵關
第一行為兩個整數,分別表示丟擲寶物的次數 k 和寶物的種類數 n 第 2 到第 left n 1 right 行,第 left i 1 right 有若干個整數表示第 i 個寶物的資訊。每行首先有乙個整數,表示第 i 個寶物的分數 p i 接下來若干個互不相同的整數,表示該寶物的各個前提寶物集合 s...